zhiji 发表于 2016-7-7 14:52:13

如何将相关函数放在一起, 减少CPU缓存未命中.

为了减少CPU缓存未命中, 提高代码性能, 需要把相关函数放在一起.

10多年前刚学c语言时, 记得在c源码中声明一个选项, 可以做到这点, 现在怎么也找不到了, 不知道哪位记得.

mathe 发表于 2016-7-13 21:10:04

这个应该是链接器(linker)做的事,不同编译器的编译选项是不同的,最后查看一下编译器说明

mathe 发表于 2016-7-13 21:13:05

需要注意对于小函数,编译器很可能会优化掉,直接嵌入调用者中(inline)。而对于大的函数,代码排放顺序对于icache命中率影响就不大了

zhiji 发表于 2016-7-17 21:29:47

mathe 发表于 2016-7-13 21:13
需要注意对于小函数,编译器很可能会优化掉,直接嵌入调用者中(inline)。而对于大的函数,代码排放顺序对 ...

谢谢

风云剑 发表于 2016-7-19 21:34:43

估计说的是section吧。
#pragma section(".code_fast");
页: [1]
查看完整版本: 如何将相关函数放在一起, 减少CPU缓存未命中.