Since we had an existing code base we needed to plan for how to split up that code base to take advantage of multiple cores. We saw it too, but we had a bumpier path to get there. This is the opportunity that the Chrome engineers foresaw. If you have a long-running script in a background tab, it doesn’t block work in the foreground tab. This way, the pages can work at their own speed, simultaneously, without blocking each other. There’s also the stuff around that webpage-the browser chrome-and that can be handled separately. Have each tab as its own separate bit of work. In the browser, it’s pretty easy to find these coarse grains. This is what coarse-grained parallelism is. For example, if two cores need to add 1 to the same number in memory, one is likely to overwrite the other if you don’t take special care.Ī pretty straightforward way to avoid these kinds of bugs is just to make sure that the two things you’re working on don’t have to share memory - to split up your program into pretty large tasks that don’t have to cooperate much. With parallelism, you can introduce subtle bugs that are hard to see and hard to debug. These CPUs had multiple cores which meant that they could do tasks independently of each other, but at the same time-in parallel. One of the reasons was that the Chrome engineers saw that a change was happening in hardware and they started making better use of that new hardware.Ī new style of CPU was becoming popular. Chrome was faster and more responsive than Firefox when it was first introduced. To get faster, we needed to take advantage of the way hardware has changed over the past 10 years. Laying the foundation with coarse-grained parallelism So, let’s look at how Firefox got fast again and where it’s going to get faster. It doesn’t mean that today’s Firefox is as fast and responsive as it’s going to be. We call this Project Quantum, and the first general release of the reborn Firefox Quantum comes out tomorrow.īut this doesn’t mean that our work is done. Plus, we’ve had a browser performance strike force scouring the codebase for performance issues, both obvious and non-obvious. Over the past seven months, we’ve been rapidly replacing major parts of the engine, introducing Rust and parts of Servo to Firefox. People have noticed that Firefox is fast again.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |