Facebook BOLT 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Facebook BOLT 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: MIT
开发语言: C/C++ 查看源码 »
操作系统: 跨平台
开发厂商: Facebook
收录时间: 2018-07-03
提 交 者: 局长

Facebook 宣布开源其二进制优化和布局工具 BOLT,以帮助工程师来加速他们的大规模应用。

据 Facebook 介绍,BOLT 可以用来优化内存中的指令配置,并且旨在将 CPU 执行时间减少 2% 到 15%,尽管在大多数情况下它将其减少了 8%。

Facebook 表示,“高度复杂的服务,例如 Facebook 上的服务,拥有大量的源代码库以提供广泛的特性和功能。即使编译了其中一种服务的机器码后,它的大小范围可能从 10s 到 100s 不等,这通常太大,而不适合任何现代 CPU 指令的高速缓存。因此,硬件花费了大量的处理时间,在许多情况下,接近 30%,从内存到 CPU 获取指令流。”

在设计 BOLT 时,Facebook 希望满足三个要求:它需要与任何编译器生成的代码兼容,能够支持没有可用源代码的代码,并且需要能够支持手动编写的代码,以便优化其布局。

Facebook 强调,BOLT 根据其执行情况重新安排功能内的代码。该函数的主体根据代码的执行频率进行分割,然后根据调用 graph profile 执行代码热块的优化布局。

除了改进代码布局之外,BOLT 还利用应用程序配置文件和利用机器代码(如高级跳转表配置,相同的代码折叠,PLT 优化和恒定负载消除)执行优化。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Facebook BOLT 的相关资讯

还没有任何资讯

Facebook BOLT 的相关博客

Spout 【API 解析】 -spout-bolt-

了解如何来开打Storm的程序

fb_product_zhengli

SQL: messenger sender receiver 2018(10-12月) 2 times ROI ads 2018(10-12月) 2018(7-9月) 2018(1-3月) 2018(4-6月) 2018(...

storm spout和bolt java api

storm spout和bolt java api

storm bolt重复消费的问题

storm bolt重复消费的问题

Bolt接口各个方法的执行顺序

在storm-user中看到的一个关于Storm Bolt内部实现的执行顺序的问题, 觉得对理解Bolt内部实现有帮助, 记录一下. prepare方法在...

Bolt任务切分方式-02.docx

Stream Grouping定义了一个流在Bolt任务间该如何被切分。这里有Storm提供的6个Stream Grouping类型: 1.随机分组(Shuffle gr...

snapchat拒绝Fb收购说起

读了这篇文章: http://www.36kr.com/p/207699.html 国内科技媒体总是充斥着无穷无尽的铜臭味,拒绝10亿美金的收购,那又怎么...

Facebook BOLT 的相关问答

还没有任何问答,马上提问

评论 (2)

加载中
我晕,布局,我还以为是UI布局,我去
2018/07/04 10:52
回复
举报
打分: 力荐
又是一把性能优化利剑 研究一下
2018/07/04 09:32
回复
举报
更多评论
2 评论
8 收藏
分享
返回顶部
顶部