如何对比不同的Java集合框架?最佳实践是什么?

11

我手头有几个有趣的Java集合,包括:

  1. http://code.google.com/p/guava-libraries/
  2. Java 7
  3. Java 7并发集合
  4. Scala集合
  5. 某些公司自行开发的集合

我想知道测试这些API最佳实践是什么,从性能和可扩展性角度考虑,即哪一个是最快、最可扩展和最高效的等。我应该使用数百万个随机元素并使用计时器还是其他方法?只是想满足我的好奇心并看看哪一个会获胜。


4
就像所有基准测试一样,您必须测试您感兴趣的性能特征。对于一种用途来说是胜者,对于另一种用途可能会失败。因此,请自问:我认为哪些特征很重要,并测量它们! - Anders Zommarin
1
同意,而且利用一个集合的便利性可能会超过为小数据子集削减几毫秒的意图。 - Roman Kagan
2
但是,你可能仍然可以找到一些集合类的常见用例,比如“在100万个对象上进行非同步插入时最快的链表”等等。这样的测量结果会相当通用。 - Anders Zommarin
2个回答

2

这些工具是用来辅助编写基准测试的。但是还缺少基准测试。其中一个示例是数组排序基准测试。 - nes1983

1

2
没有代码的话,就对我而言那篇论文完全毫无用处。 - Kevin Bourrillion
只需给那个人发一封电子邮件,也许稍加催促,他就会把代码放到GitHub上。 - nes1983
嗯,我觉得从性能角度来看很有用,尤其是如果你想进行采样。 - AKS
问题在于我们不知道这种方法是否可靠。 - Kevin Bourrillion

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接