Open Bug 704025 (newfrecency) Opened 9 years ago Updated 2 years ago
Replace "buckets-and-sampling" frecency algorithm with "exponential decay" algorithm
Using exponential decay would reduce memory use on visit, remove the need for idle-daily recomputation, and probably improve awesomebar results. Details: https://wiki.mozilla.org/User:Jesse/NewFrecency
From a MemShrink POV this doesn't seem like a huge deal, esp. with bugs like 703427 possibly in the pipeline. So we've made it a MemShrink:P2. It does sound like a good idea in general -- the current algorithm is very ad hoc. But it's not clear to me who would implement it and how it would be evaluated.
Whiteboard: [MemShrink][Snappy] → [MemShrink:P2][Snappy]
The advantages of this approach would be many: - The current painful point in visits addition is frecency recalculation, so this may speed up visits addition - The recalculation on idle-daily may be uneffective, for all those users who don't hit idle. Mobile users for example, but other categories may exist. - It's cheap, so would be suitable for all platforms, included Mobile. - Expiring old visits cannot "regress" frecency. There are also downsides: - it needs careful testing, to check how well it matches compared to the old one. - while the old frecency also adapts to pages removals (by requesting a recalculation), this won't. Bumping down an unwanted match by the right amount may be harder. - while the old frecency adapts to bonus changes (for example if a page is unstarred, its frecency gets bumped down) this won't. More generically, the bonuses (bookmarked, typed, ...) handling has to be figured out yet. - while the old frecency can be rebuilt at any time, starting from the data in the database, this one can't be rebuilt, since it may be based on past and no more existing visits. A guessed one could be rebuilt with available data, but it may not be exactly the same.
Marking as [Snappy:P2] because I don't think this is a huge source of pauses.
Whiteboard: [MemShrink:P2][Snappy] → [MemShrink:P2][Snappy:P2]
Whiteboard: [MemShrink:P2][Snappy:P2] → [MemShrink:P3][Snappy:P2]
You need to log in before you can comment on or make changes to this bug.