如果CPU使用率低、hdd使用率低和内存使用率低,Java的速度会减慢



所以基本上问题如上。我写了一个程序,可以读取csv文件,并在运行中进行一些计算。我在下面发布了代码的逻辑,我认为通过再吸收监视器并没有瓶颈。它一定是我无法通过监控器资源进行监控的瓶颈。

那么,我问的瓶颈在哪里?如果不是cpu也不是hdd也不是ram?

也许它的ram到cpu的链接是弱链接,因为每个文件都很小,大约30 mb,所以它会在一秒钟内加载到ram。CPU使用率大约为30%,所以如果文件已经在ram中,并且使用率低于ram-CPU链接,会降低性能吗?java使用的内存只有300mb,有什么建议吗?

我知道它更多的是硬件问题,而不是编程问题,但尽管如此,它使用的是Java硬件,所以也许有人可以向我解释薄弱环节在哪里。

我的规格:核心i3-540,硬盘7200rpm希捷,内存ddr3 8gb

for (int z = 0; z < f.size(); z++){
BufferedReader br2 = new BufferedReader(new FileReader(File));
String Line2 = br2.readLine();
while((Line2 = br2.readLine())!= null){

if(){
do some calculation
}
if(){
do some calculation
}
if(){
do some calculation
}
}
System.out.println(results);

您可以通过从等式中取出不同的部分来测试瓶颈是什么。要取出CPU,只需读取文件,不做任何其他事情。要取出磁盘,请一次又一次地读取同一个文件,假设它适合您的文件缓存。将此与时间进行比较。

最新更新