【问题标题】:guava cache vs ehcache benchmark [closed]番石榴缓存与 ehcache 基准测试[关闭]
【发布时间】:2012-12-18 17:51:18
【问题描述】:

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

如果您手头有基准,请在此处发布。

干杯。

【问题讨论】:

  • 问题是要求一个基准。那是如何“基于意见”的?

标签: java benchmarking guava ehcache


【解决方案1】:

基准测试是一项棘手的工作。这是hard to get it righteasy to fake。除非您的应用程序会从金属中挤出每个 CPU 周期,否则您不应该担心性能:Ehcache 和 guava 缓存对于普通项目来说已经足够了。

应该注意的是 API 和功能。例如,Guava 缓存不能用作 2 级 Hibernate 缓存(即至少开箱即用)。 OTOH Ehcache 在 API 和功能蔓延方面有所增长,但这些都是主观的。

回到话题,Guava 缓存最初是从一个单独的项目中提取的,concurrentlinkedhashmap,我相信,不再受支持只是一个单人项目,有点丢失动量(见这篇文章下面的评论)。尽管如此,旧项目页面仍然有一些基准证明ConcurrentHashMap(现在的番石榴缓存)性能接近ConcurrentLinkedHashMap。我希望它没有恶化。

【讨论】:

  • 我仍然支持 CLHM,但它是一个人的项目。 CLHM 有更好的算法基础和重度用户,但 Guava 更适合普通情况,因为它有更多的功能和一个专门的团队。由于支持严格的 LRU 以安抚迁移的单元测试(抱怨非严格是一个错误),v1 之后的性能稍差,而 Guava 的缓存是非严格的,但由于是 Google 品牌而值得信赖。上次我对 CLHM 进行基准测试时,尽管有这个惩罚,但它几乎没有比 Guava 快。都是很好的选择。
  • Guava 已经存在于我的项目中,所以我将只使用它的缓存支持。如果项目的需求会增长,我会考虑其他库。
  • 供将来参考,请参阅这些JMH benchmarks 进行比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
相关资源
最近更新 更多