Facebook BOLT二进制优化和布局工具
Facebook 宣布开源其二进制优化和布局工具 BOLT,以帮助工程师来加速他们的大规模应用。
据 Facebook 介绍,BOLT 可以用来优化内存中的指令配置,并且旨在将 CPU 执行时间减少 2% 到 15%,尽管在大多数情况下它将其减少了 8%。
Facebook 表示,“高度复杂的服务,例如 Facebook 上的服务,拥有大量的源代码库以提供广泛的特性和功能。即使编译了其中一种服务的机器码后,它的大小范围可能从 10s 到 100s 不等,这通常太大,而不适合任何现代 CPU 指令的高速缓存。因此,硬件花费了大量的处理时间,在许多情况下,接近 30%,从内存到 CPU 获取指令流。”
在设计 BOLT 时,Facebook 希望满足三个要求:它需要与任何编译器生成的代码兼容,能够支持没有可用源代码的代码,并且需要能够支持手动编写的代码,以便优化其布局。
Facebook 强调,BOLT 根据其执行情况重新安排功能内的代码。该函数的主体根据代码的执行频率进行分割,然后根据调用 graph profile 执行代码热块的优化布局。
除了改进代码布局之外,BOLT 还利用应用程序配置文件和利用机器代码(如高级跳转表配置,相同的代码折叠,PLT 优化和恒定负载消除)执行优化。
评论
BinNavi二进制分析工具
BinNavi是一个用来分析二进制文件的IDE,可以让用户检查、浏览、编辑和对反汇编的代码进行控制流图注解。同时也可对可执行文件进行显示调用图,收集和合并执行跟踪,并对分析结果进行分组保存。BinNa
BinNavi二进制分析工具
0
MinifyJS和CSS优化工具
Minify是一个PHP5的应用,帮助你让网站更加符合Yahoo的:RulesforHighPerformanceWebSites. Minify可以按需对JavaScript以及CSS文件进行合并、
MinifyJS和CSS优化工具
0
MIHTool页面调试和优化工具
MIHTool是前端工程师在iOS设备上调试和优化页面的得力助手.在AppStore里下载安装MIHToolProMIHTool Googlegroup讨论组English功能特性:iPad版1.内嵌
MIHTool页面调试和优化工具
0
JTestJava 代码优化和测试工具
Jtest是Parasoft公司推出的一款针对Java语言的自动化代码优化和测试工具,Jtest的静态代码分析功能能够按照其内置的超过800条的Java编码规范自动检查并纠正这些隐蔽且难以修复的编码错
JTestJava 代码优化和测试工具
0
fq二进制数据解析工具
fq是一个用于检查二进制数据的工具和解析器。在大多数情况下,fq的工作方式与jq相同,但它不是读取JSON,而是读取二进制数据。结果是一个JSON兼容的结构,其中每个值都有一个位范围、符号解释并知道如
fq二进制数据解析工具
0