我用Java編寫了一個小程序,它對一百萬個隨機數進行除法運算,並計算在運行不同操作系統的同一臺機器上的除法運算的平均時間。在運行該程序後,我發現在Windows上,除法操作平均需要1.6 * 10^-5 ms
,而在Linux(Ubuntu 12.04)上,需要的操作幾乎少於8個因子,即3.2 * 10^-6 ms
。我不確定爲什麼Java程序在Ubuntu上運行得更快,而不是Windows。它只是司機的事情嗎?或者算術操作在Ubuntu上更加優化?在Linux和Windows上的算術運算執行速度
3
A
回答
2
實際計算由處理器完成,它完全獨立於操作系統。
此外,java程序運行在一個虛擬的java機器上。
也許你有更多的線程運行在窗口上,所以程序得到的處理器時間更少。
1
時代本身是如此之小,差異不能(也不應該)衡量你這樣做的方式。有意義的數據只有在運行時間較長以及在同一硬件上才能達到。
+0
我嘗試了一億個數字,但結果相同。硬件在操作系統中是相同的。不確定,如果JRE在不同的操作系統上可能造成這種情況? – Shivam
0
是Dr B Advance OS類作業1.
相關問題
- 1. 執行算術運算Pig
- 2. 在SQL中執行算術運算
- 3. 在SYSTEMTIME上執行算術
- 4. 執行算術運算對於空
- 5. 在字符C上執行算術運算
- 6. 是否可以在多維數組上執行算術運算?
- 7. 運算速度
- 8. 在很大的數字上進行算術運算的算法
- 9. 的Java:執行人服務運行速度慢在Linux上,而不是在Windows
- 10. MySQL的算術計算結果的Windows和Linux
- 11. 算術運算
- 12. 算術運算
- 13. 算術運算
- 14. 算術運算
- 15. 算術運算
- 16. 執行算術運算在字符串在C#中
- 17. 在使用轉換時在sql中執行算術運算
- 18. 表演上的某些行算術運算和顯示結果
- 19. 如何在PHP PDO中執行算術運算?
- 20. 如何用python在Sparql中執行算術運算?
- 21. 如何在Sequelize中執行算術運算?
- 22. 如何在awk中對xml文件執行算術運算
- 23. 在pom文件中執行算術運算
- 24. 如何在SQL中執行算術運算?
- 25. 如何在Perl中的選定字段上執行算術運算
- 26. 在PHP(算術運算符)
- 27. CSH算術運算
- 28. BCD算術運算
- 29. 算術運算符
- 30. Golang:結構上的算術運算符
您是否安裝了相同的Java版本?你在這兩個操作系統中使用相同的vmargs嗎?一個在客戶端運行,另一個在服務器VM中運行?另外,你確定區別來自分區而不是計算隨機數嗎? – Axel