擅长:python、mysql、java
<p>实际上,您并不是在测试Java与Python的比较,而是在测试<code>java.util.HashSet</code>与Python的原生集和整数处理相比。在</p>
<p>显然,在这个特殊的微博客中,Python方面的速度确实更快。在</p>
<p>我尝试用<a href="http://trove4j.sourceforge.net/" rel="noreferrer">GNU trove</a>中的<code>TIntHashSet</code>替换HashSet,并获得了介于3到4之间的加速因子,使Java稍微领先于Python。在</p>
<p>真正的问题是您的示例代码是否真的如您所想的那样代表您的应用程序代码。您是否运行了一个探查器并确定大部分的CPU时间都花在将大量的int放入一个HashSet中?如果没有,这个例子就无关紧要了。即使唯一的区别是您的产品代码存储的是除int之外的其他对象,它们的创建和哈希代码的计算也很容易控制set插入(并完全破坏Python处理int的优势),使整个问题变得毫无意义。在</p>