Skip to content
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

ARC - Adaptive Replacement Cache #45

Closed
shism2 opened this issue Nov 10, 2013 · 4 comments
Closed

ARC - Adaptive Replacement Cache #45

shism2 opened this issue Nov 10, 2013 · 4 comments

Comments

@shism2
Copy link

shism2 commented Nov 10, 2013

Adaptive Replacement Cache is supposed to substantially outperform LRU. Also, there is:

Clock with Adaptive Replacement which has comparable performance. I know I am not showing any "proof" or benchmarks but just wondering.

https://code.google.com/p/custard-cache/source/browse/trunk/custard-cache-policies/src/main/java/com/custardsource/cache/policy/replacement/AdaptiveReplacementCacheManager.java?r=51

@shism2 shism2 closed this as completed Nov 10, 2013
@shism2 shism2 reopened this Nov 10, 2013
@sjudd
Copy link
Collaborator

sjudd commented Nov 11, 2013

I've heard of this, but I've never looked in to it much. If you want to see if you can use that algorithm to implement Glide's cache interface and put up a pull request, I'd definitely be curious to try it out. You can find the cache interface here:

https://github.com/bumptech/glide/blob/master/library/src/com/bumptech/glide/resize/cache/MemoryCache.java

The clearing memory methods are less important for testing and it seems like the others would be relatively straight forward.

Thanks for pointing this out.

@shism2
Copy link
Author

shism2 commented Nov 11, 2013

Ok, I will try my best to implement it. We would have to some way of benchmarking it.

@shism2
Copy link
Author

shism2 commented Nov 11, 2013

Actually, it seems IBM has a patent on the algorithm. Does that mean we can't use it?

@sjudd
Copy link
Collaborator

sjudd commented Nov 12, 2013

I am not a lawyer, but probably better not to use it, particularly since it seems to have been dropped from some other more prominent projects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants