相关疑难解决方法(0)

我的python程序执行速度比同一程序的java版本快.是什么赋予了?

更新:2009-05-29

感谢所有的建议和意见. 我使用你的建议使我的生产代码平均比几天前的最佳结果快2.5倍. 最后,我能够使java代码最快.

教训:

  • 下面的示例代码显示了原始int的插入,但生产代码实际上存储了字符串(我的坏).当我纠正那个python执行时间从2.8秒变为9.6时.因此,在存储对象时,java实际上更快.

  • 但它并不止于此.我一直在执行java程序,如下所示:

    java -Xmx1024m SpeedTest

但是,如果您按如下方式设置初始堆大小,则会获得巨大的改进:

java -Xms1024m -Xmx1024m SpeedTest
Run Code Online (Sandbox Code Playgroud)

这个简单的更改将执行时间减少了50%以上.所以我的SpeedTest的最终结果是蟒蛇9.6秒.Java 6.5秒.

原始问题:

我有以下python代码:

import time
import sys

def main(args):    
    iterations = 10000000
    counts = set()
    startTime = time.time();    
    for i in range(0, iterations):
        counts.add(i)
    totalTime = time.time() - startTime
    print 'total time =',totalTime
    print len(counts)

if __name__ == "__main__":
    main(sys.argv)
Run Code Online (Sandbox Code Playgroud)

它在我的机器上执行大约3.3秒,但我想让它更快,所以我决定用java编程.我认为因为java被编译并且通常被认为比python更快我会看到一些很大的回报.

这是java代码:

import java.util.*;
class SpeedTest
{    
    public static void main(String[] args)
    {        
        long startTime;
        long totalTime;
        int iterations = 10000000;
        HashSet counts = …
Run Code Online (Sandbox Code Playgroud)

python java microbenchmark

15
推荐指数
7
解决办法
3274
查看次数

不同编译语言的速度是否不同?(例如Java与C++)

我有点像编程的菜鸟,但我想知道你是否用两种不同的编译语言(即java和c ++)编写两个相同的程序,并在编译后运行它们,运行时是否有所不同或者只是编译时间有什么不同?

runtime compilation

4
推荐指数
1
解决办法
441
查看次数

标签 统计

compilation ×1

java ×1

microbenchmark ×1

python ×1

runtime ×1