A quick summary of where we are. There are three code changes that are expected to improve performance. 1. In Dana's fix to Bug 1813618 she removed the logic preventing a large class of speculative connections from running. This includes speculative connections made from the front end (e.g. Awesome bar, bookmark selection, tab hover), as well as some of those from the dom (clicking on links) as well as those from the Necko predictor. This code change has been in nightly for a little over a month. Using the [pageload event](https://sql.telemetry.mozilla.org/queries/91882?p_Build%20ID=20230419094414%20&p_Date=2023-04-19&p_Interval%20%28days%29=33&p_Load%20Type=LINK&p_Metric=fcp_time&p_Same%20origin%20nav=false&p_channel=nightly#227476) we can compare various pageload metrics before and after the fix. And we are seeing overwhelming signs of improvement in pageload metrics. | Metric | Load type | ~Improvement at median | ~Improvement at 75th percentile | | :--- | -- | --: | ---: | | fcp (first contentful paint) | Link | 49ms | 72ms | | fcp (first contentful paint) | Normal | 45ms | 111ms | | response time | Link | 31ms | 46ms | | response time | Normal | 29ms | 88ms | | pageload time | Link | 54ms | 102ms | | pageload time | Normal | 25ms | 71ms | We don't have telemetry for response times from Awesome bar navigations specifically, but we can see from profiling that the impact can be huge. (over 100ms in the following attachement) Ideally we would measure this off/on in Beta and Release, but due to the nature of the fix (specifically code removal), that would involve re-introducing a dead codepath. This landed in Fx 114. 2. The next set of improvements will come from fixing `rel="preconnect"`, Bug 1543990. This is widely used, it appears in the markup on almost half of sites according to [Chrome usage stats.](https://chromestatus.com/metrics/feature/timeline/popularity/900) This fix is expected to land in Fx 115. Although dependent on experiment design and discussions, we plan to measure the impact of this fix via the Nimbus experiment mentioned in 3., below: 3. Currently we have a global maximum of 6 sockets available for speculative connections. In Bug 1816539 we will experiment to see what performance gains, if any, can be obtained by increasing this number. This constant, 6, is widely believed to be too small (our global limit is 900). That we hit this limit can easily verified by local testing and is also seen in [telemetry](https://sql.telemetry.mozilla.org/queries/91069?p_Channel=beta#225439). Depending on the outcome of the experiment, we anticipate landing a patch that increases the number of sockets available.
Bug 1816678 Comment 6 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
A quick summary of where we are. There are three code changes that are expected to improve performance. 1. In Dana's fix to Bug 1813618 she removed the logic preventing a large class of speculative connections from running. This includes speculative connections made from the front end (e.g. Awesome bar, bookmark selection, tab hover), as well as some of those from the dom (clicking on links) as well as those from the Necko predictor. This code change has been in nightly for a little over a month. Using the [pageload event](https://sql.telemetry.mozilla.org/queries/91882?p_Build%20ID=20230419094414%20&p_Date=2023-04-19&p_Interval%20%28days%29=33&p_Load%20Type=LINK&p_Metric=fcp_time&p_Same%20origin%20nav=false&p_channel=nightly#227476) we can compare various pageload metrics before and after the fix. And we are seeing overwhelming signs of improvement in pageload metrics. | Metric | Load type | ~Improvement at median | ~Improvement at 75th percentile | | :--- | -- | --: | ---: | | fcp (first contentful paint) | Link | 49ms (4.5%) | 72ms (4.5%) | | fcp (first contentful paint) | Normal | 45ms (4.0%) | 111ms (6%) | | response time | Link | 31ms (6.2%) | 46ms (5.2%) | | response time | Normal | 29ms (5%) | 88ms (8%) | | pageload time | Link | 54ms (3.4%) | 102ms (3.5%) | | pageload time | Normal | 25ms (1.3%) | 71ms (3%) | We don't have telemetry for response times from Awesome bar navigations specifically, but we can see from profiling that the impact can be huge. (over 100ms in the following attachement) Ideally we would measure this off/on in Beta and Release, but due to the nature of the fix (specifically code removal), that would involve re-introducing a dead codepath. This landed in Fx 114. 2. The next set of improvements will come from fixing `rel="preconnect"`, Bug 1543990. This is widely used, it appears in the markup on almost half of sites according to [Chrome usage stats.](https://chromestatus.com/metrics/feature/timeline/popularity/900) This fix is expected to land in Fx 115. Although dependent on experiment design and discussions, we plan to measure the impact of this fix via the Nimbus experiment mentioned in 3., below: 3. Currently we have a global maximum of 6 sockets available for speculative connections. In Bug 1816539 we will experiment to see what performance gains, if any, can be obtained by increasing this number. This constant, 6, is widely believed to be too small (our global limit is 900). That we hit this limit can easily verified by local testing and is also seen in [telemetry](https://sql.telemetry.mozilla.org/queries/91069?p_Channel=beta#225439). Depending on the outcome of the experiment, we anticipate landing a patch that increases the number of sockets available.