我正在設計一個JPG解碼器。一個實現支持使用線程和擴展CPU的多個內核。如果底層系統支持3個內核,我的程序將使用它們全部。使用所有核心資源或旨在減輕貪婪程序的系統是不負責任的行爲。另外,線程實現還需要更多的內存資源(3 x等效RGB BMP的大小)。內存使用何時變得太多?使用所有可用的內核和CPU是否不負責任?
0
A
回答
1
它是不負責任的使用所有的核心資源
不,事實並非如此。考慮一個單一的核心繫統:如果它以某種方式使用所有核心是「不負責任的」,那麼任何事情都無法完成。
或者是旨在減輕貪婪程序
是的,操作系統是專門做這個系統。通常,兩個同等優先級的程序(每個要使用所有CPU核心)將共享內核50%-50%(按時間而不是核心分配)。每個應用程序都會相信它正在使用所有內核,但是某些內核可能會比其他內核運行得慢一些。應用程序不需要關注這個級別的細節(儘管通常操作系統提供了這種方法來實現,如果需要的話)。
+0
好吧,謝謝..我立即明白了。我想這解釋了爲什麼我的多線程實現比我的單線程實現慢得多。 – deanresin
相關問題
- 1. 是否可以控制CPU內核?
- 2. 內存防護是否會減慢所有CPU內核速度?
- 3. OptaPlanner是否負責使用可選節點的TSPTW(或VRPTW)?
- 4. 高CPU負載,但低CPU使用率和內存使用率
- 5. 負責任的設計 - 不處理所有的元素
- 6. Nodejs利用所有CPU上的所有內核
- 7. rename_column是否負責索引?
- 8. 如何讓clisp或sbcl使用所有cpu核心可用?
- 9. Docker無法使用所有Macbook的CPU內核
- 10. 是否有任何真實世界的CPU不使用IEEE 754?
- 11. vowpal wabbit可以使用我所有的CPU核心嗎?
- 12. 是否可以使用CPU上的單個核心運行Tensorflow?
- 13. Apache spark(graphx)可能不會利用所有內核和內存
- 14. 使用TaskCreationOptions.LongRunning標誌創建的任務後,我是否負責清理?
- 15. Web服務器(和相關軟件)是否使用機器的所有CPU內核?
- 16. 爲什麼我的程序不是用來使用RAM和CPU,而是使用所有的RAM和CPU?
- 17. Perl - 負責任的分叉
- 18. 爲什麼pmap | reducer/map不使用所有的cpu核心?
- 19. 多核和CPU使用
- 20. Php處理不負責任的捲曲
- 21. 是否所有內核都自動使用?
- 22. Git負責所有文件的歸檔
- 23. Linux是否放入所有內核的內核?
- 24. 進程的CPU使用率(任務)Linux內核
- 25. 使用附加內核的CPU性能
- 26. 在Linux中使用pthread中的可用物理CPU內核
- 27. 如何獲得使用權限的負責任API調用?
- 28. EC2上的Spark不能利用所有可用的內核
- 29. Amazon AWS是否負責分配或使用資源?
- 30. 的UIButton中的UIView內嵌不負責
讓**用戶**選擇他們想要專用於特定任務的核心數量。 –
你認爲啓動線程等等來解碼通常的JPG文件,每個文件是否有益?我不是。內存:代碼? – deviantfan
@CaptainObvlious我認爲這將超出用戶的知識範圍。 – deanresin