我的程序是階乘函數的簡單遞歸實現。它的執行速度與我的電腦上的處理器數量有關嗎?我的程序不是多線程的。處理器數量是否會影響單線程程序的性能?
1
A
回答
2
不,它與處理器的數量無關。由於您的程序不是多線程的,因此它只能在單個線程中運行,一次只能在單個處理器上運行。
單個處理器的速度是不是一個計算機上增加其它處理器的存在,不同之處在於具有一個以上處理器可允許其他程序在其他核上運行,從而允許程序中使用的較大部分它正在運行的單個處理器。
由於Raymond Chen在評論中指出,如果您的線程跨CPU遷移,也可能出現緩存的複雜問題,其中occurs regularly。
當然,這些可能是相對較小的整體效果 - 當然,除非程序是多線程的,否則一般不能指望程序在具有更多處理器的計算機上運行得更快。
+1
如果線程從一個處理器遷移到另一個處理器(例如因爲原始處理器正忙於處理中斷),可能會影響性能,因爲新處理器不會在高速緩存中承擔工作負載。 –
相關問題
- 1. 處理程序與線程是否有任何真正的性能影響?
- 2. 處理器的數量是否影響ASP.NET MVC 4 Web應用程序中異步線程的性能?
- 3. 複雜的線程索引計算是否會影響性能?
- 4. 變量是否會影響性能?
- 5. UIView透明度是否會影響應用程序的性能?
- 6. 創建dmp文件是否會影響程序性能?
- 7. 附加的Solr搜索處理程序是否對性能有任何影響?
- 8. Windows性能計數器是否會影響性能?
- 9. 設備上的應用程序數量是否會影響Android應用程序的性能?
- 10. 預處理器指令是否影響OpenCL內核性能?
- 11. 線程和處理程序handleMessage()性能
- 12. <?php and ?>標籤的數量是否會影響性能?
- 13. python類中的方法數量是否會影響性能?
- 14. Angular - 注入模塊的數量是否會影響性能?
- 15. USB調試是否會影響測試過程中的性能
- 16. 使用數據屬性會影響應用程序的性能?
- 17. 背景中持續運行的線程是否會影響網站的性能?
- 18. C# - 內存中的對象數量是否影響本地處理的性能?
- 19. CLR ThreadPool中的繁忙工作線程數是否會影響I/O線程的性能?
- 20. ASP.NET MVC 3表單提交會影響RenderAction處理程序
- 21. Java SWT Widgets是否影響線程性能?
- 22. 獲取線程的堆棧跟蹤是否會影響其性能?
- 23. 使用require()是否會影響性能?
- 24. 現在SSL是否會影響性能?
- 25. Hows是否會影響性能?
- 26. $(this)是否會影響性能,如$([selector])?
- 27. 404錯誤是否會影響性能?
- 28. 多線程或WAL是否會影響SQLite觸發器?
- 29. java類的大小是否會影響應用程序的性能
- 30. 警告是否會影響我的Flash應用程序的性能?
[爲什麼單個線程進程在多個處理器/內核上執行?](http://stackoverflow.com/questions/8485947/why-does-a-single-threaded-process-execute-on-幾個處理器核心) –
@ RaymondChen該問題是相關的,但它是一個明確的問題,而不是重複。 –
這不是那麼直截了當。您擁有的核心越多,您的程序就會越慢,因爲另一個程序正在競爭處理器。但是這樣的程序也可以提高處理器芯片的溫度,迫使它降低時鐘頻率。這會減慢你的程序。大多數機器的使用方式,最可能的正確答案是「否」。 –