找回密码
 欢迎注册
查看: 9523|回复: 5

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

[复制链接]
发表于 2016-7-7 14:52:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

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

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

评分

参与人数 1金币 +20 收起 理由
gxqcn + 20 首贴奖励,欢迎常来。

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-7-13 21:10:04 来自手机 | 显示全部楼层
这个应该是链接器(linker)做的事,不同编译器的编译选项是不同的,最后查看一下编译器说明
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-7-13 21:13:05 来自手机 | 显示全部楼层
需要注意对于小函数,编译器很可能会优化掉,直接嵌入调用者中(inline)。而对于大的函数,代码排放顺序对于icache命中率影响就不大了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2016-7-17 21:29:47 | 显示全部楼层
mathe 发表于 2016-7-13 21:13
需要注意对于小函数,编译器很可能会优化掉,直接嵌入调用者中(inline)。而对于大的函数,代码排放顺序对 ...

谢谢
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-7-19 21:34:43 | 显示全部楼层
估计说的是section吧。
#pragma section(".code_fast");

点评

谢谢!  发表于 2016-8-1 08:14
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-23 15:59 , Processed in 0.025904 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表