我正在设计一个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