计算机工程与科学 ›› 2026, Vol. 48 ›› Issue (1): 20-27.
张晓哲,陈涛,肖调杰,张翔,包为民,龚春叶
ZHANG Xiaozhe,CHEN Tao,XIAO Tiaojie,ZHANG Xiang,BAO Weimin,GONG Chunye
摘要: 后摩尔时代的E级计算面临的编程墙缺乏衡量标准。代码复杂度作为软件代码的内在属性,是代码理解、优化和计价的基础。针对现有的代码复杂度衡量方法在HPC应用中存在局限性的问题,提出了基于操作符数目和代码行数的代码绝对复杂度和相对复杂度,其中绝对复杂度为代码操作符总数,相对复杂度为绝对复杂度与代码行数的比值。通过43个软件代码的实验验证,该方法能够合理评估不同类型代码的复杂度,特别是在科学计算领域。其中llvm和linux内核分别以3 300万和2 300万的绝对复杂度位列前两位;jellyfin-media-player,spheral和llvm则以4.54,3.9和3.12的相对复杂度排名前3位。该方法为不同代码的分析、比较和计价提供了新视角,也为E级计算编程墙的衡量提供了一种客观、可量化的标准。