最近有一个超大计算量的程序要优化一下速度,毕竟对于大数据计算来说,速度也是一个很重要的用户体验要素。
............. N 多实验 ...........
某次实验是减少 汇编 指令条数,对于 C 代码有两种写法
C 写法一:

对应生成的汇编指令是 各种 shl add shl add shl add,这是 gcc 生成的神奇指令,总之这一顿操作后 row 就偏移了 584 个字节。

time 命令看到实现程序的执行时间
![]()
C 写法二,思路是减少 gcc 生成的 多条 shl add ... 的指令,用一条 乘法指令代替


time 命令看到 的执行时间竟然比方案一长了一点点。

本文讲述了作者在优化一个超大计算量程序时的经验,通过实验对比了C代码的不同写法,包括汇编指令优化、CPU缓存命中率等因素,最终采用脚本生成C代码并结合位操作、mmap和 SSE4.2 指令,成功将超大批量数据的查询时间降至秒级,显著提升了性能。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



