It has been almost a month and a half since the last time that I talked about our progress in fighting sync IPC issues. So I figured it's time to prepare another Sync IPC Analysis report. Again, unfortunately only the latest data is available in the spreadsheet. But here are screenshot of the C++ and JS IPC message pie charts:

As you can see, as we have made even more progress in fixing more sync IPC issues, now the document.cookie issue is even a larger relative share of the pie, at 60%. That is followed by some JS IPC, PAPZCTreeManager::Msg_ReceiveMouseInputEvent (which is a fast sync IPC message used by the async pan zoom component which would be hard to replace), followed by more JS IPC, followed by PContent::Msg_GetBlocklistState which is recently fixed, followed by PBrowser::Msg_NotifyIMEFocus, followed by more JS IPC and CPOW overhead before we get to the longer tail. If you look at the JS sync IPC chart, you will see that almost all the overhead there is due to add-ons. Hopefully none of this will be an issue after Firefox 57 with the new out of process WebExtensions for Windows users. The only message in this chart stemming from our code that shows up in the data is contextmenu.

The rate of progress here has been really great to see, and this is thanks to the hard work of many people across many different teams. Some of these issues have required heroic efforts to fix, and it's really great to see this much progress made in so little time.

The development of Firefox 56 in coming to a close rapidly. Firefox 57 branches off on Aug 2, and we have about 9 weeks from now until Firefox 57 rides the trains to beta. So far, according to our burn-down chart, we have closed around 224 [qf:p1] bugs and have yet 110 more to fix. Fortunately Quantum Flow is not one of those projects that needs all of those bugs to be fixed, because we may not end up having enough time to fix these bugs for the final release, especially since we usually keep adding new bugs to the list in our weekly triage sessions. Soon we will probably need to reassess the priority of some of these bugs as the eventual deadline approaches.

It is now time for me to acknowledge the great work of everyone who helped by contributing performance improvements over the past two weeks. As usual, I hope I'm not forgetting any names!