- 主题:Linux 6.2合并华为郑磊(Zheng Lei)代码:查找性能平均提高715
https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9447896597532731506%22%7D&n_type=-1&p_from=-1
总所周知,作为世界最知名,用户最多的开源PC操作系统,Linux每个版本都会正黑来自世界各地开发者的代码。
今天,最新的Linux 6.2版本合并了来自华为郑磊(原文为Zheng Lei)的代码,为核心内核的性能带来了大幅提升。
根据合并代码模块的介绍,通过郑磊提交的代码,Linux在kallsyms_lookup_name () 平均查找的性能提高了715倍,将旧实现从O (n) 升级到O (log (n)),同时还保留了/proc/kallsyms 上的旧实现支持。
而根据郑磊自己的描述,他对Linux查找符号的逻辑进行了优化。
在此前,为了搜索一个符号,需要将 'kallsyms_names' 中的符号逐一展开,然后使用展开后的字符串进行比较。这是 O (n)。
而在优化后,系统就可以像地址一样将名字按升序排序,并使用二进制搜索,这就是O (log (n))。
--
FROM 27.115.4.*
我不知道呀。华为有水军宣传这个?
【 在 gloria 的大作中提到: 】
: 又来刷KPI了
--
FROM 27.115.4.*
能说明华为技术世界级一流了吧,相当于在国际顶级会议期刊SCI发表论文了。
【 在 lvsoft 的大作中提到: 】
: 屁大的事,吹的到处都是,这很华为。
: 这个函数只有在做模块live patch的时候才有可能会用到,使用频率也不高,不然也轮不到到6.2了还留着没改。
: 快有快的代价,比如这个改动会增加4 * kallsyms_num_syms的内存占用。大概会消耗48KB内存,对于极端内存紧缺的环境,比如嵌入式,这点性能可能根本就不重要,甚至直接把kallsyms关掉。相反增加了代码复杂度,总的来说是否值得也是个问题。贴个其中一位reviewer的意见:
: ...................
--
FROM 27.115.4.*
至少是一篇OSDI顶会了吧,直接可以去硅谷年薪百万了。
【 在 lvsoft 的大作中提到: 】
: 不是。互联网也有大量高质量基础设施代码啊,你对互联网的理解就只有crud么?
: 另外,就说华为给linux内核的贡献,随便举个例子,比如erofs好了。虽然我对它的细节不了解,但光看描述就知道这个工作就远比这个什么性能提升补丁有价值的多,也复杂得多。这种才是值得吹的题材啊,一个O(n)到O(logn),而且n才区区一万多这个量级,使用频率还很低的小改进,飞吹个什么700多倍提升,这种就叫博眼球标题党好不好。不喷它喷谁?
: 最后,看不懂这个补丁的人还是别来评论“我觉得”了吧。你又不懂,觉得个屁勒
--
FROM 27.115.4.*