{"action":"created","issue":{"url":"https://api.github.com/repos/cb372/scalacache/issues/74","labels_url":"https://api.github.com/repos/cb372/scalacache/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/cb372/scalacache/issues/74/comments","events_url":"https://api.github.com/repos/cb372/scalacache/issues/74/events","html_url":"https://github.com/cb372/scalacache/issues/74","id":117975102,"number":74,"title":"Update to Caffeine v2.0.1","user":{"login":"mdedetrich","id":2337269,"avatar_url":"https://avatars.githubusercontent.com/u/2337269?v=3","gravatar_id":"","url":"https://api.github.com/users/mdedetrich","html_url":"https://github.com/mdedetrich","followers_url":"https://api.github.com/users/mdedetrich/followers","following_url":"https://api.github.com/users/mdedetrich/following{/other_user}","gists_url":"https://api.github.com/users/mdedetrich/gists{/gist_id}","starred_url":"https://api.github.com/users/mdedetrich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdedetrich/subscriptions","organizations_url":"https://api.github.com/users/mdedetrich/orgs","repos_url":"https://api.github.com/users/mdedetrich/repos","events_url":"https://api.github.com/users/mdedetrich/events{/privacy}","received_events_url":"https://api.github.com/users/mdedetrich/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-11-20T06:38:29Z","updated_at":"2015-11-21T08:16:14Z","closed_at":null,"body":"New version of Caffeine is out, which has substantial performance improvements (https://github.com/ben-manes/caffeine/tree/v2.0.1)"},"comment":{"url":"https://api.github.com/repos/cb372/scalacache/issues/comments/158611786","html_url":"https://github.com/cb372/scalacache/issues/74#issuecomment-158611786","issue_url":"https://api.github.com/repos/cb372/scalacache/issues/74","id":158611786,"user":{"login":"ben-manes","id":378614,"avatar_url":"https://avatars.githubusercontent.com/u/378614?v=3","gravatar_id":"","url":"https://api.github.com/users/ben-manes","html_url":"https://github.com/ben-manes","followers_url":"https://api.github.com/users/ben-manes/followers","following_url":"https://api.github.com/users/ben-manes/following{/other_user}","gists_url":"https://api.github.com/users/ben-manes/gists{/gist_id}","starred_url":"https://api.github.com/users/ben-manes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ben-manes/subscriptions","organizations_url":"https://api.github.com/users/ben-manes/orgs","repos_url":"https://api.github.com/users/ben-manes/repos","events_url":"https://api.github.com/users/ben-manes/events{/privacy}","received_events_url":"https://api.github.com/users/ben-manes/received_events","type":"User","site_admin":false},"created_at":"2015-11-21T08:16:14Z","updated_at":"2015-11-21T08:16:14Z","body":"The improvements are listed in the [Github release](https://github.com/ben-manes/caffeine/releases) section, which is supposedly the [idiomatic](https://github.com/blog/1547-release-your-software) way for maintaining release notes. Let me know if you think this should be linked on the main page, as I had thought that approach was well known.\r\n\r\nThe throughput performance in v2 is identical, as minor optimizations were offset by other changes. A planned optimization that I hoped would have a significant gain didn't pan out, but perhaps when I understand why it can be resurrected.\r\n\r\nThe major change in v2 is the adoption of a [near optimal](https://github.com/ben-manes/caffeine/wiki/Efficiency) eviction policy which outperforms ARC, LIRS, and (of course) LRU. It does so while being very memory efficient through the use of a frequency sketch instead of retaining evicted keys for history information. I'm collaborating with the original researchers on a paper that includes my contributions (windowing, optimizations, comparative analysis).\r\n\r\nThe API changes shouldn't affect `scalacache`. The primary difference was to make `RemovalListener` friendlier to Java's lambda expressions when constructing the builder."}}