我用Java语言写了一个小程序,对一百万个随机数进行除法运算,并计算出在运行不同操作系统的同一台机器上进行除法运算的平均时间。运行该程序后,我发现,在Windows上,除法运算平均需要1.6 * 10^-5 ms,而在Linux (Ubuntu12.04)上,它需要的3.2 * 10^-6 ms几乎少8倍。我不确定为什么Java程序在Ubuntu上运行得更快,而不是在Windows上。是不是只有司机的问题?或者算术运算在Ubuntu上更优化?
发布于 2012-10-01 11:02:29
实际的计算是由处理器完成的,它完全独立于操作系统。
此外,java程序在虚拟java机器上运行。
也许你有更多的线程运行在windows上,所以程序得到的处理器时间更少。
发布于 2012-10-01 10:58:46
时间本身是如此之小,不能(也不应该)用你正在做的方式来衡量差异。只有在相同的硬件上运行更长的时间才能获得有意义的数据。
发布于 2013-07-25 22:28:47
是,Dr B高级操作系统类分配1。
https://stackoverflow.com/questions/12667031
复制相似问题