|

楼主 |
发表于 2021-4-2 00:49:47
|
显示全部楼层
广东省广州市
代码优化的关键点 就是动态缓冲 和循环的时候使用寄存器作变量,其他的可以说根本不需要优化,直接编译成汇编就行 自己组建PE才能随意控制指针的对齐16,因为大部分链接器不会对齐,这些才是代码效率的关键,比如 一个乘2的代码 你肯定想优化成左移 因为左移相当于乘2 但是你用imul eax,eax,0x2 甚至 lea eax,[eax*2] 根本不会有什么差距 所以说将这些乘2优化成左移 就等于在浪费心思,只要你按规则编译成汇编就行了,你若不信,可以测试这三种方式的时间,40多亿次,多运行几次你就会发现排掉CPU中断占用的时间,压根就没差距。置入代码 ({ 51, 201, 73, 184, 2, 0, 0, 0, 209, 224, 73, 117, 246 }) 置入代码 ({ 51, 201, 73, 184, 2, 0, 0, 0, 107, 192, 2, 73, 117, 245 }) 置入代码 ({ 51, 201, 73, 184, 2, 0, 0, 0, 141, 4, 0, 73, 117, 245 })
|
|