总所周知,作为世界最知名,用户最多的开源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))。 |
免责声明:本网站内容由网友自行在页面发布,上传者应自行负责所上传内容涉及的法律责任,本网站对内容真实性、版权等概不负责,亦不承担任何法律责任。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。