鉴于Linux5.9即将发布,我今天用cloc获得了一些乐趣,看看这个即将结束的Linux5.9内核状态的当前代码行数。 在今天的Linux5.9Git中,内核大约有2049万行代码,另外还有358万行代码注释和372万行空白行。或者说,Linux5.9大约有2,781万行代码,分布在大约5.9万个源文件中。 69964个文本文件。 69494个唯一文件。已忽略10737个文件。 Github.com/aldanial/cloc v1.82T=95.88s(618.0个文件/秒,290045.7线/秒) -- 语言文件空白注释代码 。 C 29198 2900014 2367000 14781314 C/C++标头21123 588426 1022774 4640918 重新构造文本2685 135238 59051 369738 组件1275 45960 99012 225085 JSON 287 0 0 165799 YAML1089 18494 4966 83627 伯恩壳牌657 16823 11350 66043 致电25929808 10864 44192 SVG 59 118 1365 37555 PERL 60 6686 4767 34393 Python 123 5345 4804 27720 YACC 9 695 354 4755 采购订单档案5 791 918 3077 法9 349 304 2130 C++10 345 134 1993 伯恩再次壳牌52 338 297。一七五零 AWK 10 139 116 1051 林地1 58 0 603 NANT脚本2 143 0 549 黄瓜1 28 50 175 Windows模块定义2 15 0 109 M4 1 15 1 95 CSS 1 28 29 80 XSLT 5 13 26 61 Vim脚本%1%3%12%27 红宝石1 4 0 25 INI 1 1 0 6 SED 1 2 5 5 -。 总数:59260 3729879 3588199 20492875 --。
(请记住,内核源代码树还具有各种工具、构建系统和大量文档等,这些文档可以解释一些原本看起来相当特殊的cloc数据。) 一段时间以来,AMDGPU内核图形驱动程序大约有200多万行代码,使其成为最大的树内内核驱动程序。在Linux5.9中,它有216万行代码,另外还有247k行代码注释和109k空行……。或多达251万行代码是AMD DRM驱动程序代码,包括AMDKFD、POWERPLAY、DC以及最终构成该驱动程序上的AMD RADEON支持的所有内核代码(但不是较旧的RADEON DRM驱动程序--该较旧的RADEON驱动程序的代码行数约为157K)。 尽管如先前所述,由于GPU寄存器等的自动生成的头文件等原因,许多AMDGPU驱动程序代码基数如此之大。事实上,在Linux 5.9 for AMDGPU中,179万行仅仅是主要自动生成的头文件。在271万行实际的C代码中,它有366K行。 1471个文本文件。 1470个独特的文件。忽略了5个文件。 Github.com/aldanial/cloc v1.82T=6.85s(214.1个文件/秒,367938.0线/秒) - 语言文件空白注释代码 。 C/C++标题927 39761 195391 1794207 C501 68528 50377 366823 大会3557 408 1909 致电35 276 906 636 - 总数:1,466 109122 247082 2163575。
为了进行GPU驱动程序大小比较,英特尔i915&34;内核驱动程序在Linux 5.9上支持旧版i915显卡至Gen12/Xe显卡,代码行数为209k,另外还有39.2k行注释和48k空行。 529个文本文件。 528个唯一文件。已忽略6个文件。 Github.com/aldanial/cloc v1.82T=0.72s(728.7个文件/秒,413015.9线/秒) - 语言文件空白注释代码 。 C281 42116 31405 180728 C/C++标头23859207719 27974 制造2 23 29 260 组件2 28 94 114 -。-- 总数:523 48087 39247 209076 -。
或者,就开源的NVIDIA";Nouveau&34;驱动程序而言,它只有149K行代码、25.6K行注释和19.9K行空白。 对于那些想知道当前AMDGPU内核驱动程序的大小与主线Linux5.9内核的整体大小相关的人来说,这些是最新的数字。显然,请记住,这些指标只是针对内核端的,而不是针对用户空间OpenGL/Vulkan和计算组件的。无论如何,一旦在接下来的几个小时内作为稳定版本发布,将会有很多伟大的Linux5.9内核特性值得享受。