SuperAPI AI 工具集

build-perf-diagnostics

通用与其它

查看项目

更新于 10-16 00:32

技能介绍

用途:诊断 MSBuild 构建性能瓶颈,通过二进制日志(binlog)分析找出构建缓慢的原因。

主要能力:生成并分析 binlog,读取目标/任务性能摘要,检查节点利用率、分析器耗时、RAR 耗时等关键指标,并给出常见瓶颈的修复建议。

使用方式:生成 binlog 使用 dotnet build /bl:{} -m;可配合随插件提供的 binlog MCP 服务器(Microsoft.AITools.BinlogMcp)。MCP 不可用时,用 dotnet msbuild build.binlog -noconlog -fl -flp:v=diag;logfile=full.log;performancesummary 回放为文本日志,再用 grep 查看性能摘要、节点调度、分析器耗时等。

关键指标:小型项目构建 <10s、中型 <60s、大型 <5min;节点活跃时间理想 >80%;单一目标占比 >50% 需排查;分析器应低于 Csc 任务时间的 30%;RAR 超过 5s 需关注,超过 15s 属异常。

常见瓶颈与修复:RAR 慢可减少引用、使用 DisableTransitiveProjectReferences、ReferenceOutputAssembly="false";分析器慢可条件禁用 RunAnalyzers、EnforceCodeStyleInBuild 仅在 CI 启用;序列化瓶颈可拆分项目、优化关键路径;Copy 任务慢可用硬链接、SkipCopyUnchangedFiles、--artifacts-path、Dev Drive;评估开销可简化 Directory.Build.props、避免 NuGet SDK 解析器;还原可分离 restore 与 build、启用 RestoreUseStaticGraphEvaluation;项目图可考虑合并或 /graph 模式。

适用场景:.NET/MSBuild 项目构建性能调优,尤其大型解决方案、多项目依赖、CI 构建优化。

限制:具体效果因项目而异,部分建议需结合实际验证;资料未提供收费、平台支持等细节。