anchor.diff:      tags.forEach(writeRow);
       buf.write('</table>');
   
  +    h3('Lint rule timings');
       List<LintRule> rules = Registry.ruleRegistry.rules.toList();
  +    int totalLintTime = rules.fold(0,
  +        (sum, rule) => sum + lintRegistry.getTimer(rule).elapsedMilliseconds);
  +    p('Total time spent in lints: ${printMilliseconds(totalLintTime)}');
  +
       rules.sort((first, second) {
         int firstTime = lintRegistry.getTimer(first).elapsedMilliseconds;
         int secondTime = lintRegistry.getTimer(second).elapsedMilliseconds;
  
positive.code:       }
        return secondTime - firstTime;
      });
      p('Lint rule timings');
      buf.write('<table>');
      _writeRow(['Lint code', 'Time (in ms)'], header: true);
      int totalLintTime = 0;
      for (var rule in rules) {
        int time = lintRegistry.getTimer(rule).elapsedMilliseconds;
        totalLintTime += time;
        _writeRow([rule.lintCode.name, time.toString()]);
      }
      buf.write('</table>');
      p('Total time spent in lints: $totalLintTime ms');
    }
  }
  
  
negative.code:       </script>
  ''');
  
      // write out a table
      void _writeRow(List<String> data, {bool header: false}) {
        buf.write('<tr>');
  