Bug 1941608 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

A few months ago, while looking at a profile from Denis (now lost to the sands of time) showing lots of Ion compilation time on Pixel 6, I noticed that main thread linking was spending an unusually large amount of time in JitCodeRange::compare(). This wasn't something that I had noticed before and it seemed worth taking a quick look at.

Indeed, initial haphazard performance testing (see [here](https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=835cf3f36767b31e419d1cc9d218bc5f9fe90da9&newProject=try&newRevision=17eabd803427e5009f0736fd56ed264e0fc5c6f5&framework=13&page=1) and [here](https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=835cf3f36767b31e419d1cc9d218bc5f9fe90da9&newProject=try&newRevision=d356e117d6a9a2bdf812467ff493e75c6cce1cb6&framework=13&page=1)) indicates that the Pixel 6 strongly likes any improvements that I make that involve AvlTree. The A55 seems to like those same changes a bit but not nearly as much.

For other platforms the impact is less clear - maybe there is some improvement and maybe there is some regression. [This comparison](https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=70ea05b8e26131d858ab9d975d9fbabc74fbfdda&newProject=try&newRevision=3b2d49f411aceb526694cfff66f119f9fd20dcfc&framework=13&page=1) implies that perhaps all platforms are happy when all of the improvements are applied together. This is not entirely unexpected because it has been hypothesized that improving Ion compilation times might not always be a net positive for SP3 scores sometimes because it increases the load for main-thread linking. However, once the main thread linking is improved enough, further Ion compilation improvements would then be beneficial.
A few months ago, while looking at a profile from Denis (now lost to the sands of time) showing lots of Ion compilation time on Pixel 6, I noticed that main thread linking was spending an unusually large amount of time in JitCodeRange::compare(). This wasn't something that I had noticed before and it seemed worth taking a quick look at.

Indeed, initial haphazard performance testing (see [here](https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=835cf3f36767b31e419d1cc9d218bc5f9fe90da9&newProject=try&newRevision=17eabd803427e5009f0736fd56ed264e0fc5c6f5&framework=13&page=1) and [here](https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=835cf3f36767b31e419d1cc9d218bc5f9fe90da9&newProject=try&newRevision=d356e117d6a9a2bdf812467ff493e75c6cce1cb6&framework=13&page=1)) indicates that the Pixel 6 strongly likes any improvements that I make to AvlTree or the comparison functions used with it. The A55 seems to like those same changes a bit but not nearly as much.

For other platforms the impact is less clear - maybe there is some improvement and maybe there is some regression. [This comparison](https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=70ea05b8e26131d858ab9d975d9fbabc74fbfdda&newProject=try&newRevision=3b2d49f411aceb526694cfff66f119f9fd20dcfc&framework=13&page=1) implies that perhaps all platforms are happy when all of the improvements are applied together. This is not entirely unexpected because it has been hypothesized that improving Ion compilation times might not always be a net positive for SP3 scores sometimes because it increases the load for main-thread linking. However, once the main thread linking is improved enough, further Ion compilation improvements would then be beneficial.

Back to Bug 1941608 Comment 0