每次检查的计时耗费了编译时间的几个百分点,而且没有任何程序读取这些计时信息。
作者: vlsi创建于 2026年8月31日更新于 2026年9月9日
ErrorProneScanner.processMatchers 为每个在每个 AST 节点上运行的匹配器打开一个计时范围:
try (AutoCloseable unused = oldState.timingSpan(matcher)) {
``` `VisitorState.timingSpan` 传递给 `ErrorProneTimings.span`, 后者根据规范化名称检查, 启动一个 `Stopwatch`, 并返回一个关闭它的闭包。因此, 每个范围都是一个 `HashMap` 查找, 两次 `System.nanoTime` 调用, 以及一个闭包。内容来源: google/error-prone