番石榴缓存与ehcache基准测试

Rau*_*aul 13 java benchmarking ehcache guava

我正在尝试决定在我的项目中使用这两个中的哪一个:guava cache或ehcache.寻找轻量级服务级别缓存解决方案.我搜索了一些基准测试,但找不到任何基准测试.

如果您有方便的基准,请在此处发布.

干杯.

min*_*das 21

基准测试是一项很滑的业务.这是很难得到它的权利容易伪造.除非你的应用程序会挤出金属的每个CPU周期,否则你不应该担心性能:Ehcache和guava缓存对于一般项目来说都足够好.

应该注意的事项是API和功能.例如,Guava缓存不能用作二级Hibernate缓存(即至少开箱即用).OTOH Ehcache在API和功能爬行方面变得有点胖,但这些都是主观的.

回到主题,Guava缓存最初来自一个单独的项目,concurrentlinkedhashmap,我相信,不再支持,因为这只是一个单人项目并失去了一点动力(见本文下面的评论).尽管如此,旧的项目页面仍然有一些基准证明ConcurrentHashMap(现在的番石榴缓存)性能接近ConcurrentLinkedHashMap.我希望它没有恶化.

  • 我仍然支持CLHM,但它是一个单人项目.CLHM拥有更好的算法基础和繁重的用户,但由于更多功能和专门的团队,Guava更适合常见情况.由于支持严格的LRU来安抚迁移的单元测试(非严格是一个错误的投诉),因此v1后的性能稍差一些,而Guava的Cache不是严格的,但由于是谷歌品牌而受到信任.上次我对CLHM进行基准测试的速度几乎比Guava快,尽管有这样的惩罚.一切都是很好的选择. (11认同)
  • 供将来参考,请参阅这些[JMH基准测试](https://github.com/ben-manes/caffeine/wiki/Benchmarks)进行比较. (3认同)