我的 Java 代码有一个非常意外的行为,我正在研究 ML 算法,当我在 IDE(NetBeans 7.0.1)中使用“运行文件”时,我的代码执行速度比执行完全相同时快 15 倍以上来自终端的类和输入(Konsole 2.11.3)。我正在运行 Mint Linux。
案例#1 NetBeans:
...
99.69348%
99.808426%
99.92337%
Total FS time: 830ms
Converting Test Data...
Test Data Ready!
...
案例#2 Konsole:
...
99.69348%
99.808426%
99.92337%
Total FS time: 15496ms
Converting Test Data...
Test Data Ready!
...
您可能会问我尝试了什么,但是....我真的不知道从哪里开始,这些类实际上是相同的,以及输入,我打开我的系统监视器并注意到当我从 NetBeans 运行文件时,它可以使用我所有的 CPU 线程(8 个),当从 Konsole 运行时它只使用 1 个,我认为!导致延迟,但据我所知是负责如何使用 CPU 内核的操作系统。
希望有人能指出我正确的方向。也许 Profiler 可以提供帮助?