专栏名称: Linux学习
专注分享Linux/Unix相关内容,包括Linux命令、Linux内核、Linux系统开发、Linux运维、网络编程、开发工具等Linux相关知识和技术
目录
相关文章推荐
Linux爱好者  ·  “宇宙最强”开源代码编辑器——VS ... ·  5 天前  
Linux爱好者  ·  被黑猴子虐爆了! 索尼 8 年耗资 20 ... ·  1 周前  
51好读  ›  专栏  ›  Linux学习

Linus亲手优化内核管道代码,make性能大幅提升

Linux学习  · 公众号  · linux  · 2020-02-29 12:18

正文


来自公众号开源中国
链接:https://www.oschina.net/news/113281/linux-pipe-parallel-job-opt

对于那些使用 GNU Make 作为其构建系统的用户,从 Linux 5.6 开始,并行构建时间将快得多。

Linus Torvalds 本人围绕内核的管道代码进行了更改,以在读取或写入时使用排他等待。尽管这对于传统或通用的数据管道来说没有多大意义,但是 GNU Make 作业服务器是一个很大的受益者,因为它依赖管道来限制并行性。

在 Linus Torvalds 编写的简化测试用例中,此补丁使得测试程序上的上下文切换次数从 1100 万下降到仅 120 万,这无疑会受到欢迎,因为无数的安全缓解措施使英特尔设备的上下文切换性能降低了不少。此外,消耗的系统时间也只是原先时间的一小部分。

英特尔的 Josh Triplett 测试了 Linus 的补丁,并确认:“我已经在多个不同的系统上测试了管道修复补丁(切换到独占等待队列),在这一个月左右的时间里我没有遇到任何问题。该补丁改善了大型(〜100 CPU)系统上的并行构建时间,包括并行 make 和使用基于管道的 jobserver 的其它事情。


●编号1012,输入编号直达本文

●输入m获取文章目录

推荐↓↓↓

运维

更多推荐25个技术类公众微信

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。