我写了一个用Java编写的小程序,它对一百万个随机数进行分割操作,并计算运行不同操作系统的同一台机器上的分割操作的平均时间。 运行程序后,我发现在Windows上划分的操作平均需要1.6 * 10^-5 ms
而在Linux(Ubuntu 12.04)上则需要8个因子,即3.2 * 10^-6 ms
。 我不确定为什么Java程序在Ubuntu上运行得更快,而不是Windows。 这只是司机的事情吗? 或者算术运算在Ubuntu上更加优化?
实际的计算是由处理器完成的,它完全独立于操作系统。
此外,Java程序运行在一个虚拟的Java机器。
也许你有更多的线程在Windows上运行,所以程序获得的处理器时间更少。
时代本身是如此之小,差异不能(也不应该)按照你所做的方式衡量。 有意义的数据只有在运行时间较长,并且在相同的硬件上才能实现
是B博士高级操作系统课程作业1。