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
-
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