Comment by steveklabnik
1 year ago
There were two previous attempts at parallelizing CSS layout in Firefox. Both were in C++. Both were abandoned after being unsuccessful. The Servo folks credited Rust's safety guarantees as the reason why they were able to be successful on the third attempt.
C++ attempts were from scratch or were based on interventions on the existing codebase?
I mean, the Rust version was also put into the existing codebase, so it's not clear to me what distinction you're making.
But this presentation was made seven years ago, and the attempts it's talking about are even older, and I wasn't involved with them. So I don't know the answer to your question.
The distinction is whether or not you're rewriting something from scratch carrying no baggage from the thwarts of the existing system or you keep organically growing existing code to meet the new requirements. The latter is usually much much harder. I hope it's clear now.
1 reply →