IT圈老男孩1 发表于 2022-5-11 09:20

似乎有误解...我是说让他们折叠后仍然有不同的地址不就行了吗

TheLudGamer 发表于 2022-5-11 09:24

嗯,我没讲清楚,折叠后只保留一份副本,是写在 text 段的,所以地址是一致的;不同地址的话成了通过 data 段的指针间接调用了

XGundam05 发表于 2022-5-11 09:32

对于移动端,有一个理论认为,二进制体积越小,应用下载安装量越大

FeastSC 发表于 2022-5-11 09:36

补充一下,一般认为二进制越大,cpu 的 icache mssing rate 越高,会影响代码性能

Arzie100 发表于 2022-5-11 09:36

其实他的意思是,链接器再生成一个函数,通过jmp指令跳到实际的函数,这样就不会函数地址相同了。

stonstad 发表于 2022-5-11 09:37

感谢指正。我认为层主的意思是:是否可以合并间接跳转的;这个在 all 模式是有考虑的,而 safe 模式没有(保守而为了能够保证正确性)。而你的意思以及后来层主提出的,我认为是:做地址比较时的一种辅助手段,这样目标函数合并不影响地址比较;是不错的提议,ICF 优化目标是二进制体积,多生成函数这样做本身也是对其他一些优化的一种对抗,改变了预期行为,且会提升复杂度。
页: 1 [2]
查看完整版本: 链接器优化: 相同代码折叠 ICF