A go implemementation of Aadaptive Replacement Cache (ARC)
In performance, ARC is at least as good as LRU, and better in most real-world workloads.
The original algorithm is presented in the paper: http://www.almaden.ibm.com/cs/people/dmodha/arclogin.pdf. We adapt the algorithm to support caching objects with different memory sizes.
The original algorithm is implemented in the "classic" branch.