编程语言
首页 > 编程语言> > java – 性能方面,Guava库有多好?

java – 性能方面,Guava库有多好?

作者:互联网

我已经浏览了Google Guava库,并在其中创建了许多好的,可用的数据结构.

如果有其他人使用过它,那么你可以提供有关它与大数据集一起使用时的表现的反馈吗?基本上我正在为其运营寻找BigO表示法.

提前致谢

解决方法:

番石榴贡献者在这里.

嗯,有什么可说的?所有基于散列的(和基于枚举的)集合都具有恒定时间的单项操作,完全符合您的预期. (HashMultiset,LinkedHashMultiset,ConcurrentHashMultiset,HashBiMap,HashBasedTable,ImmutableSet,ImmutableMap,EnumMultiset,EnumBiMap等都属于该类别.)所有基于树的/已排序的集合都具有对数时间操作的对数时间,包括TreeMultiset,ImmutableSortedMap,和ImmutableSortedSet.

在multimaps中,文档基本上告诉你Map和value-collection实现,你可以从中找出它. HashMultimap基本上是一个HashMap到HashSets,LinkedHashMultimap是一个LinkedHashMap到LinkedHashSets,ArrayListMultimap是一个HashMap到ArrayLists,LinkedListMultimap是一个LinkedHashMap到LinkedLists(性能方面,如果不是技术上真的),TreeMultimap是TreeMap到TreeSet,ImmutableSetMultimap是一个ImmutableMap对于ImmutableSets,ImmutableListMultimap是ImmutableLists的ImmutableMap.

唯一不可能不言而喻的是,SortedMultiset实现可能在O(log n)时间内提供subMultiset().size()操作,这是JDK TreeMap< E,Integer>所不能做到的.

集合的所有视图(我们都喜欢很多视图)会在不变的时间内返回并具有您期望的渐近线.

有没有更具体的你关注的?

(一般来说,Guava基本上是Google在生产中使用的核心库,我想这是非常有力的证据表明公用事业在重型环境中表现令人满意.另外,Guava正在不断改进,你会得到这些改进基本上是免费的.)

标签:java,performance,data-structures,big-o,guava
来源: https://codeday.me/bug/20191004/1854429.html