-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Which cache-replacement policies to include #2
Comments
From Matrix conversations today:
Everything is on the table for discussion in Stage 1, although we probably want to start simple and add more complicated policies after we standardize the simple cases. What’s most important is that we gather concrete JavaScript use cases for those algorithms, like sliding expiration etc.
I would love to support ARC as a policy, but, although it outperforms LRU and that’s important for CPU caches, it might not be a big enough difference to overcome the patent problems. If we standardized ARCMap, then each of the engine vendors would have to take their own legal counsel regarding Intel’s license. But maybe it’s worth seriously considering… |
We don't need to worry too much about TC39 participants' patents: (if they decide not to opt out, which has never happened) our standards process establishes an open license to their patents, for use in the relevant standard. The relevant policy is Ecma's Royalty-free Patent Policy, which TC39 has adopted. |
I opened #9 to discuss the ARC licensing concerns. |
We have to understand and consider that ARC and some algorithms retain evicted keys as histories or ghost caches #9 (comment). DWC #12 is appropriate for resolving the problems. |
Do we need LIFO as a cache policy? |
Currently the policy contains classes for FIFO (first in, first out), LIFO (last in, first out), LRU (least recently used out), and LFU (least frequently used out). Are these adequate? Are they too much? Are there other policies that should be built in? Should we start with a minimal collection of policies? There are many sophisticated policies used in CPU paging (some of which are still patented); should we consider those?
The text was updated successfully, but these errors were encountered: