Linux 6.2合并华为代码:查找性能平均提高715倍

时间 • 2025-06-15 15:17:10
代码
in

Linux 6.2合并华为代码:查找性能平均提高715倍

总所周知,作为世界最知名,用户最多的开源PC操作系统,Linux每个版本都会正黑来自世界各地开发者的代码。

今天,最新的Linux6.2版本合并了来自华为郑磊(原文为ZhengLei)的代码,为核心内核的性能带来了大幅提升

根据合并代码模块的介绍,通过郑磊提交的代码,Linux在kallsyms_lookup_name()平均查找的性能提高了715倍,将旧实现从O(n)升级到O(log(n)),同时还保留了/proc/kallsyms上的旧实现支持。

而根据郑磊自己的描述,他对Linux查找符号的逻辑进行了优化。

在此前,为了搜索一个符号,需要将'kallsyms_names'中的符号逐一展开,然后使用展开后的字符串进行比较。这是O(n)。

而在优化后,系统就可以像地址一样将名字按升序排序,并使用二进制搜索,这就是O(log(n))。