VOOZH about

URL: https://bugzilla.mozilla.org/show_bug.cgi?id=2006028

⇱ 2006028 - Remove predictor code


Closed Bug 2006028 Opened 6 months ago Closed 6 months ago

Remove predictor code

Remove predictor code
Core
Networking
unspecified
Unspecified
Unspecified
task
Points:
---
RESOLVED FIXED
RESOLVED
FIXED
148 Branch
Iteration:
---
a11y-review
Accessibility Severity
Performance Impact
Size Estimate
Webcompat Priority
Webcompat Score
Tracking Status
firefox148 --- fixed
Tracking Status
relnote-firefox
thunderbird_esr115
thunderbird_esr140
firefox-esr115
firefox-esr140
firefox-esr153
firefox148
firefox152
firefox153
firefox154
---
[necko-triaged]
QA Whiteboard:
[qa-triage-done-c149/b148]
Has STR:
---
Change Request:
---
Bug Flags:
Signature:
None
This bug is publicly visible.

 

The predictor was completely disabled recently, and in many cases it slowed down the browser. Most of its functionality was never enabled by default.
With Early hints and speculation rules, most of what the predictor tried to achieve can be done by web developers, instead of the browser trying to guess it.

The network predictor used the HTTP cache as a database to learn browsing
patterns and make speculative DNS prefetches, TCP preconnects, and resource
prefetches. While this provided performance benefits for repeat visits to
frequently-accessed sites, it came with significant costs: I/O on every page
load, CPU overhead for prediction algorithms, memory for caching learned
patterns, and substantial IPC complexity with six message types coordinating
predictions between processes.

A large part of the functionality the predictor was meant to improve is now
available to webdevelopers. HTTP 103 Early Hints allow servers to explicitly
specify resources to preload while generating the response.
And Speculation Rules API will enable content authors to declaratively specify
prefetch/prerender behavior based on their knowledge of site structure and user
intent, providing immediate accuracy without a learning period.

The network.predictor.enable-hover-on-ssl preference is retained as it controls
simpler hover-triggered speculative connections that don't require the
predictor's learning system. This removal simplifies the codebase while
steering users toward more accurate, standards-based optimization mechanisms.

The one feature of the predictor which was never used was learning websites
that are opened soon after startup. There was no action taken based on this
info, and we could already predict this info based on the history database.

Comment 2

6 months ago
Pushed by valentin.gosu@gmail.com: https://github.com/mozilla-firefox/firefox/commit/117ed7db9907 https://hg.mozilla.org/integration/autoland/rev/4d434e20a9d0 Remove predictor code r=necko-reviewers,firefox-style-system-reviewers,emilio,kershaw

Comment 3

6 months ago
Pushed by abutkovits@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/79e1b8910963 https://hg.mozilla.org/integration/autoland/rev/00ab0a5bf088 Revert "Bug 2006028 - Remove predictor code r=necko-reviewers,firefox-style-system-reviewers,emilio,kershaw" for causing failures at test_basic.js.
Assignee

Updated

6 months ago
Flags: needinfo?(valentin.gosu)

These prefs are removed:

  • network.predictor.enabled
  • network.predictor.enable-prefetch
  • network.predictor.page-degradation.day
  • network.predictor.page-degradation.week
  • network.predictor.page-degradation.month
  • network.predictor.page-degradation.year
  • network.predictor.page-degradation.max
  • network.predictor.subresource-degradation.day
  • network.predictor.subresource-degradation.week
  • network.predictor.subresource-degradation.month
  • network.predictor.subresource-degradation.year
  • network.predictor.subresource-degradation.max
  • network.predictor.prefetch-rolling-load-count
  • network.predictor.prefetch-min-confidence
  • network.predictor.preconnect-min-confidence
  • network.predictor.preresolve-min-confidence
  • network.predictor.prefetch-force-valid-for
  • network.predictor.max-resources-per-entry
  • network.predictor.max-uri-length
  • network.predictor.doing-tests
Blocks: old-prefs

Comment 6

6 months ago
Pushed by valentin.gosu@gmail.com: https://github.com/mozilla-firefox/firefox/commit/44bd5382c062 https://hg.mozilla.org/integration/autoland/rev/bcf58080cea5 Remove predictor code r=necko-reviewers,firefox-style-system-reviewers,emilio,kershaw,extension-reviewers,toolkit-telemetry-reviewers,manuel,robwu

Comment 7

6 months ago
bugherder
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → 148 Branch
QA Whiteboard: [qa-triage-done-c149/b148]
You need to log in before you can comment on or make changes to this bug.