> Cautionary tale for the ‘rewrite it in Rust’ camp
Mozilla, famously, made multiple attempts to update Firefox's rendering engine to take advantage of multiple CPU cores that had to be abandoned before they switched over to Rust and started to see some success.
>Parallelism is a known hard problem, and the CSS engine is very complex. It’s also sitting between the two other most complex parts of the rendering engine — the DOM and layout. So it would be easy to introduce a bug, and parallelism can result in bugs that are very hard to track down, called data races.
There is already a link to an interview with Josh Matthews, who led Servo development, where he makes the case that moving to Rust from C is the factor that finally allowed the effort to succeed after three previous failed attempts.
Mozilla, famously, made multiple attempts to update Firefox's rendering engine to take advantage of multiple CPU cores that had to be abandoned before they switched over to Rust and started to see some success.
>Parallelism is a known hard problem, and the CSS engine is very complex. It’s also sitting between the two other most complex parts of the rendering engine — the DOM and layout. So it would be easy to introduce a bug, and parallelism can result in bugs that are very hard to track down, called data races.
https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-en...