gpt4 book ai didi

eclipse - 为什么我的 Java 程序通过 Eclipse 运行的速度比通过 shell 运行的速度快 4 倍?

转载 作者:行者123 更新时间:2023-12-02 14:30:09 34 4
gpt4 key购买 nike

当我通过 Eclipse(版本 3.5.2,在 Ubuntu 10.04 上,java 版本“1.6.0_20”)执行下面的简单代码示例时OpenJDK运行环境(IcedTea6 1.9.9)(6b20-1.9.9-0ubuntu1~10.04.2)OpenJDK Server VM(版本19.0-b09,混合模式)),大约需要10秒。当我从 shell 执行它时(使用相同的优先级和 java 版本),大约需要 40 秒。

for (int i = 0; i<1000*1000; i++) {
System.out.println(Math.cos(i));
}

我还尝试了其他程序,它们的运行时间和输出量各不相同:每个程序在 shell 中都慢得多。这与执行顺序无关。对于输出很少的程序,Eclipse 中的最小百分比差异为 85 秒,而 shell 中的最小百分比差异为 145 秒。

原因是什么?

最佳答案

这是因为你正在为你的终端计时。有些终端在显示/滚动文本时速度非常慢。而且你的终端是行缓冲的,而 Eclipse 控制台可能有更多的缓冲 - 导致你的程序在打印每一行后必须等待你的终端。

尝试将程序的输出重定向到文件或/dev/null,并计时。

在我的系统上,这与你的小循环有点不同:

$ time java T --snip - 1M lines of output--real    0m24.746suser    0m2.403ssys     0m1.597s$ time java T >outputreal    0m5.172suser    0m2.800ssys     0m2.707s

关于eclipse - 为什么我的 Java 程序通过 Eclipse 运行的速度比通过 shell 运行的速度快 4 倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7206123/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com