SuperAPI AI 工具集

compile-analysis

数据与分析

查看项目

更新于 10-16 07:28

技能介绍

用途:面向 OpenHarmony ACE Engine 项目,分析单个源文件的编译效率,包括编译耗时、峰值内存占用和头文件依赖,用于排查编译慢、依赖过多等构建性能问题。

主要能力:从 ninja 构建文件提取完整编译命令(含编译标志、宏定义、include 路径);生成带性能监控的独立编译脚本;执行编译并输出耗时(MM:SS.mm)与峰值内存(KB);解析 .ii 预处理文件,生成头文件依赖树(默认仅提取 foundation/arkui/ 前缀的 include,系统头文件排除)。

主要脚本:analyze_compile.sh 为主入口,用法 ./.claude/skills/compile-analysis/scripts/analyze_compile.sh <source-file> [product-name],加 --save-script 可生成 out/{product}/compile_single_file_{name}.sh;get_compile_command.py 提取命令,用法 python3 ./.claude/skills/compile-analysis/scripts/get_compile_command.py <source-file> <openharmony_root>/out/<product> [--save-enhanced];parse_ii.py 解析依赖,用法 python3 ./.claude/skills/compile-analysis/scripts/parse_ii.py <ii-file>。

适用场景:调查编译耗时;识别过度依赖的文件;优化头文件引用;单独编译某文件用于测试或调试;使用保存的脚本做优化前后基准对比。

限制:提取的编译命令必须在 out/{product} 目录下执行,不能在项目根目录执行;结果须基于实际执行,禁止推测;依赖分析须用 parse_ii.py 解析 .ii 文件,不得用 clang -E、gcc -M 等替代;单文件编译须使用已有 compile_single_file_{name}.sh,不得直接用 ninja/make。默认产品为 rk3568。若源文件路径与构建数据库不匹配,会报“找不到编译规则”。面向平台与完整安装步骤暂未提供。