性能
文章平均质量分 74
Li-Yongjun
这个作者很懒,什么都没留下…
展开
-
性能优化——避免使用除法
ARM 硬件上不支持除法指令。编译器是通过调用 C 库函数来实现除法运算的,要花费 20~100 个周期。如果不能避免除法运算,那么就尽量使除数和被除数是无符号的整数。原创 2024-03-31 19:54:15 · 396 阅读 · 0 评论 -
GCC 优化等级(O0、O1、O2、O3)对程序性能的影响
O3 直接将内层循环给优化掉了,10 次循环展开成 10 次指令,也是牛逼。这样一来,少了内层循环的边界判断。更重要的是,少一层跳转,就减少一次分支预测判断,这对指令执行的效率有显著提升。原创 2023-10-09 22:05:40 · 1952 阅读 · 0 评论 -
STM32 DMA 传输类型调试记录
源地址:(uint32_t)&huart->Instance->DR,即串口的数据寄存器目的地址:用户自定义的一个 buf数据长度:传送的数据长度原创 2023-07-14 02:52:57 · 1535 阅读 · 0 评论 -
perf 工具测量 cache 命中率
今天我们使用 perf 工具,实际测量 cache miss 的比率是多少,这将会使你更加深刻地了解 cache 及其对性能的影响。原创 2023-06-22 20:28:01 · 2203 阅读 · 3 评论 -
iCache && dCache
L1 Cache 比较特殊,每个 CPU 会有两个 L1 Cache,分别为 iCache(指令高速缓存,Instruction Cache)和 dCache(数据高速缓存,Data Cache)。L2 和 L3 一般不区分指令和数据,可以同时缓存指令和数据。原创 2023-06-14 02:08:44 · 1983 阅读 · 0 评论