最近我遇到了这个问题,比如“C”编程中的各种 CPU 密集型操作是什么,我可以想到以下内容:
- 数学运算
- Appropriate choice of data structures based on need like in certain scenarios linked list might not be appropriate to store thousand of records
- ...
感谢任何帮助?
不涉及系统调用或从内存加载/存储大量数据的所有内容都是 CPU 密集型的。
这很简单,因为如果你不让 CPU 等待其他设备(内存、I/O),那么 CPU 会尽可能快地运行,所以一切都是 CPU 密集型的。
根据相同的标准,系统调用也可能是 CPU 密集型的:如果它们使用 CPU 而不是其他设备,它们就是 CPU 密集型的。一个例外是请求等待,它可以让 CPU “休息”,直到某些外部事件发生。
有一些操作和操作安排可能会导致 CPU 的更多部分同时工作,从而更多地使用 CPU。当然,这取决于处理器型号并且是一个复杂的话题。还有一些事情对处理器来说“更难”,并且由于计算机体系结构的问题,处理器可以比其他安排更快或更慢地执行一些操作安排。这也是一个复杂的话题。
虽然它本身不是 CPU密集型的,但是:内核和用户空间之间的上下文切换,即带有小缓冲区的 read() 或 write()