Optimization 帧指针优化的使用
这是相关的,但与 我正在努力学习这篇老文章(但仍然是相关文章) 拉里(作者写道) 自1995年以来,机器的速度大大加快,性能 FPO实现的改进不足以应对 FPO带来的调试和分析之痛 然而,在接下来的讨论中,一位用户写道 禁用FPO可能会严重影响代码大小和性能。 当帧指针被激活时,必须禁用尾部调用优化 存在,导致受影响路径中的堆栈使用量大大增加。小的 函数也不成比例地受到prolog/epilog代码的影响。 第三,尽管一个帧仍有六个寄存器可用 X86上的指针,其中只有三个相对于 嵌套调用:EBX、ESI和EDI。打开第四个寄存器可能会降低 一堆泄漏代码 我有几个问题Optimization 帧指针优化的使用,optimization,assembly,Optimization,Assembly,这是相关的,但与 我正在努力学习这篇老文章(但仍然是相关文章) 拉里(作者写道) 自1995年以来,机器的速度大大加快,性能 FPO实现的改进不足以应对 FPO带来的调试和分析之痛 然而,在接下来的讨论中,一位用户写道 禁用FPO可能会严重影响代码大小和性能。 当帧指针被激活时,必须禁用尾部调用优化 存在,导致受影响路径中的堆栈使用量大大增加。小的 函数也不成比例地受到prolog/epilog代码的影响。 第三,尽管一个帧仍有六个寄存器可用 X86上的指针,其中只有三个相对于 嵌套调用:EB
这完全取决于编译器和优化器设计器。从MS文档中可以看出,MS已将ABI定义为所有数据都需要主空间,即使整个生命周期都在寄存器中 好问题,虽然它可能是以观点为基础的。谢谢…我后来意识到有些是以观点为基础的,但有些是以事实/经验为基础的。谢谢