
BOLT: 二进制优化和布局工具——一个提升Linux环境下二进制文件性能的命令行解决方案...
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
BOLT(Binary Optimization and Layout Tool)是一款专为Linux环境设计的命令行工具,旨在通过优化二进制文件来显著提高程序执行效率。
螺栓BOLT是为了加速大型应用程序而设计的后链接优化器。它实现了基于采样分析工具(如Linux中的perf)生成的执行配置文件来改进代码布局的方法。文中概述了在BOLT中实施的想法,并讨论其潜力及已取得的成绩。
对于输入二进制,BOLT需要能够在X86-64和AArch64 ELF格式的二进制文件上运行。这些文件至少应该包含未剥离的符号表;为了获得最大的性能提升,它们应当与重定位链接(使用 --emit-relocs 或 -q 链接器标志)相关联。
在优化开始前,BOLT会分解函数并重建控制流程图 (CFG)。这一过程尤其复杂,在存在间接分支的情况下更是如此。为此我们依赖于一些启发式方法来完成这项任务,并已在用Clang和GCC编译器生成的代码上进行了测试验证。
对于C/C++语言的主要要求是,程序不应依赖于特定的代码布局属性(例如函数指针增量)。汇编语言同样可以被处理,但需要将代码与数据明确地区分开。
全部评论 (0)
还没有任何评论哟~


