“C”中的CPU密集型操作

时间:2013-01-13 11:21:57

标签: c linux

最近我遇到了这个问题,比如'C'编程中的各种CPU密集型操作,我可以在下面想到:

  1. 数学运算
  2. 根据需要适当选择数据结构,如某些情景链表可能不适合存储数千条记录
  3. ...
  4. 感谢任何帮助吗?

2 个答案:

答案 0 :(得分:2)

所有不涉及系统调用或从内存加载/存储大量数据的内容都是CPU密集型的。

这仅仅是因为如果你不让CPU等待其他设备(内存,I / O),那么CPU就会尽可能快地运行,所以一切都是CPU密集型的。

系统调用也可能是CPU密集型的,符合相同的标准:如果它们使用CPU而不使用其他设备,则它们是CPU密集型的。一个例外是请求等待,这可以允许CPU“休息”直到发生某些外部事件。

有一些操作和操作安排可能导致更多的部件同时工作,从而导致更多地使用CPU。当然,这取决于处理器模型,并且是一个复杂的主题。对于处理器而言,还存在“更难”的事情,并且由于计算机体系结构的问题,处理器可以比其他布置更快或更少地执行操作的安排。这也是一个复杂的话题。

答案 1 :(得分:1)

虽然它本身不是CPU 密集型,但是:上下文在内核和用户空间之间切换,即带有小缓冲区的read()或write()

相关问题