腾讯亿级用户规模自研业务的上云实践解读,立即报名 了解详情
写点什么

清理掉积累数十年的内核依赖,可将 Linux 构建性能提升 50~80%

  • 2022-01-06
  • 本文字数:715 字

    阅读完需:约 2 分钟

清理掉积累数十年的内核依赖,可将Linux构建性能提升50~80%

1 月 2 日,长期从事 Linux 内核开发的 Ingo Molnar 发布了一组大规模的补丁,用来重塑 Linux 内核的头文件层次结构和依赖关系,补丁数量多达 2297 个。这项工作的目标是加快 Linux 内核的构建时间,同时清理一些东西,以解决"依赖性地狱"问题。

 

去年,Linux 的源代码达到了2780 万行,代码行数量惊人,而且未来还会继续增长。Ingo Molnar 认为,如果 Linux 源代码更轻,该平台可以变得更快、更高效。为了实现这一目标,Ingo Molnar 宣布了“Fast Kernel Headers”项目,试图清理和改造 Linux 内核的头文件层次结构和头文件依赖项。

 

Linux 大约包含 10,000 个带有 include/ 和 arch/*/include 层次结构的主 .h 头文件。Molnar 说,多年来,这些已经“成长为一组复杂而痛苦的交叉依赖,我们称之为‘依赖地狱’。”那么,清理 Linux 内核意味着什么?Molanr 认为可能需要对代码进行 2,200 次提交更改。另外,事实也证明清理代码比他最初想象的要麻烦和缓慢得多,毕竟 Linux 的年龄已经到了 30 岁了。

 

目前,Molnar 已经取得了一些成果,在启用了“Fast Kernel Headers”的内核中,每小时的内核构建量可能比目前的原始内核多 78%。这个庞大的补丁系列已经在 x86/x86_64、SPARC、MIPS 和 ARM64 上进行了测试。在支持的架构上,内核构建性能有可能提高 50-80%。

 

Molnar 表示“除了 25 个子树和 2,200 个提交之外,fast-headers 树修改了现有的内核源文件的一半以上。”这个工作已经修改了 25288 个文件,插入 178024 个文件,删除 74720 个文件。换句话说,“是的,这可能是有史以来最大的单一功能发布”,这些变化几乎会影响 Linux 内核中的每个程序。目前该项目以"征求意见"的方式发出。

 

更多细节: https://lore.kernel.org/lkml/YdIfz+LMewetSaEB@gmail.com/T/#u

 

2022-01-06 17:492929

评论

发布
暂无评论
发现更多内容

从Docker到Kubernetes | 爱数云原生演进历程

爱数技术范儿

Kubernetes 云原生

Week1 Homework

Ray_c

#架构实战营

如何高效工作,享受品质生活?看看少数派的经验总结吧

博文视点Broadview

JavaScript 有关数组的 slice 截断函数

HoneyMoose

微信业务架构图-外包学生管理系统架构

毛先生

架构实战营

InnoDB解决幻读的方案——LBCC&MVCC

阿Q说代码

MySQL innodb MVCC 8月日更 LBCC

云小课 | 区块链关键技术之一:共识算法

华为云开发者联盟

区块链 区块链技术 共识机制 共识算法

制作第三方库时,我们的资源到底在哪?

fuyoufang

ios swift 8月日更

IntelliJ IDEA 如何显示提交输入的信息历史

HoneyMoose

redis6安装和可视化工具

4ye

redis 后端 8月日更

合约量化系统开发(炒币合约/机器人炒币App)

获客I3O6O643Z97

智能合约 量化机器人 合约量化

开源demo | 快速搭建在线自习室场景

anyRTC开发者

音视频 在线教育 视频直播 在线自习室

netty系列之:在netty中使用protobuf协议

程序那些事

Java Netty 程序那些事

docker入门:vue和可视化界面的部署,另附ngxin配置

小鲍侃java

8月日更

Vue进阶(六十四):iframe更改src后页面未刷新问题解决

No Silver Bullet

Vue iframe 跨域 8月日更

5年程序员问我:什么是断言?

CodeNongXiaoW

测试 后端 接口工具

mock.js的作用

与风逐梦

大前端 后端 Mock

Rust从0到1-高级特性-Traits 进阶

rust Traits 高级特性

华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有多大?

华为云数据库小助手

华为云 GaussDB GaussDB(for MySQL)

Ubuntu Server 20.04 搭建Nacos集群

玏佾

nacos 部署 搭建

SQL 是产品经理必会技能

蒋川

数据库 sql 产品 后端

带你入门antv.g6流程图

华为云开发者联盟

可视化 流程图 API graph 图可视化引擎

sql task4 集合运算

橙橙橙橙汁丶

面对不同的业务场景,选择零码还是低码?

华为云开发者联盟

开发者 低代码 零代码 AppCube 业务场景

遗留系统演进

Kubernetes 微服务 etcd 架构设计原则 演进式架构

面试侃集合 | SynchronousQueue公平模式篇

码农参上

队列 SynchronousQueue 8月日更

干货 | 数据为王,携程国际火车票的 ShardingSphere 之路

SphereEx

数据库 开源

多云管理中的多租户解决方案

鲸品堂

多租户 多云管理 实践案例

接口管理工具ApiPost使用——(响应结果可视化)

Proud lion

大前端 后端 Postman 开发工具 接口文档

游戏“外挂”?—— AI生成游戏最强攻略

华为云开发者联盟

AI 游戏 华为云

清理掉积累数十年的内核依赖,可将Linux构建性能提升50~80%_语言 & 开发_Tina_InfoQ精选文章