C 语言性能优化:减少相关性依赖,利用指令并行提升性能
如下的例程中,iResult += i 和 iResult += (i+1)都会更新 iResult 的值,因此这两条语句是串行执行的,后一条语句必须等待前一条语句执行完成后,才能继续执行。
复制代码
这是 C 语言版本与汇编语言版本的对照形式:
优化:
如下代码引入了 2 个临时变量,分别对 i 和 i+1 进行运算,它们是互不影响的,因此可以利用 CPU 的指令并行,加速程序的运行,从而提高性能。
复制代码
这是 C 语言版本与汇编语言版本的对照形式:
评论