性能提升8450%,Linux内核函数获大幅改进

WBOY
发布: 2024-02-09 17:50:12
转载
839 人浏览过

这是一个深度伪原创的版本:Jason Donenfeld 是 WireGuard 的主要开发人员,同时也是 Linux 内核随机数相关代码的维护者。在他的领导下,Linux 内核的随机数生成器代码得到了巨大的改进。

在之前的 Linux 5.17 版本中,Jason Donenfeld 就将随机代码中的 SHA1 替换为了 BLAKE2s。由于 BLAKE2s 的特性,它通常比 SHA1 更快更安全。经过测试,这个简单的转换就能带来约 131% 的速度提升。

尽管在 Linux 5.17 版本中已经取得了巨大的速度提升,但 Jason Donenfeld 并不满足。因此,在 Linux 5.18 版本中,他对随机代码进行了更多改进。

性能提升8450%,Linux内核函数获大幅改进

通过查看 Linux 的 random.git 仓库的日志能够看出(上图),开发者 Jason Donenfeld 在最近两天时间里进行了大量的代码提交。这些提交内容都将在 3 月下旬 Linux 5.18 的合并窗口启动时引入内核。

性能提升8450%,Linux内核函数获大幅改进

在邮件中特别强调到,通过使用正在开发的最新代码,用于获取随机字节的 getrandom() 调用能够获得更好的性能。在配备英特尔 Xeon E5-2697 v2 @ 2.70GHz CPU 和 112G 内存的设备上进行 stress-ng getrandom() 基准测试后,更是获得了 8450% 的性能提升。

此次更改基本上会将之前的全局结构(实际上是 per-numa 节点结构)更改为 per-cpu 结构,这意味着快速路径上的许多锁都会消失。因此,当在具备多核的 CPU 上同时尝试 getrandom() 时,毫无疑问性能会出现提升。只不过没想到在测试中能带来 8450% 的提升。

除此之外,当从 per-numa 更改为 per-cpu 后,也将不再需要被推迟到工作队列上线后才能进行。也正如我之前所说,此次改进将会为高核心数的电脑和服务器带来巨大收益。

以上是性能提升8450%,Linux内核函数获大幅改进的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:lxlinux.net
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!