Replies: 1 comment
-
The exponential trick and the log are both really clever, thank you! I'll convert this into an issue so I can track it |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I just discovered and started using your plugin recently, and I like it a lot. Thank you very much for it!
You wrote in the README that "The [score computation] parameters here still need to be tuned, so please let me know if you find some magical parameters!". So here I am with my two cents. I spent some time on similar problems for a personal project, so I have some (hopefully helpful!) takeaways to share:
where$f$ is a piecewise constant function defined by some $f$ as an exponential $f(x) = e^{-\alpha x}$ so that you would only have to remember the time of last access and the value of $F$ at that time to compute $F$ at later times. You get constant time/space complexity for computing the frecency, and having $f$ with exponential decay is not too restrictive (and probably not too far from your current $f$ ).
access_thresholds
. This forces to store all access times, and has complexity proportional to their number. I would recommend takingTaking the log allows to solve this issue since
I do not know much Rust, so I have not implemented/tried it in your plugin. But I would recommend giving a try, it made a big difference for my use case :)
All the best and thanks again.
Beta Was this translation helpful? Give feedback.
All reactions