anchor.diff:  /// [scanTotalChars] characters.
   void report(String name, int time) {
     var sb = new StringBuffer();
  -  sb.write('$name: ${time ~/ 1000} ms');
  +  sb.write('$name: $time us, ${time ~/ 1000} ms');
     sb.write(', ${scanTotalChars * 1000 ~/ time} chars/ms');
     print('$sb');
   }
  
positive.code:   if (!files.add(start)) return;
    var unit = parseDirectives(start);
    for (var directive in unit.directives) {
      if (directive is! UriBasedDirective) continue;
      var next = sources.resolveUri(start, directive.uri.stringValue);
      collectSources(next, files);
    }
  }
  
  
negative.code: 
  main(args) {
    // TODO(sigmund): provide sdk folder as well.
    if (args.length < 3) {
      print('usage: perf.dart <bench-id> <package-root> <entry.dart>');
      exit(1);
    }
    var totalTimer = new Stopwatch()..start();
  
    var bench = args[0];
    var packageRoot = Uri.base.resolve(args[1]);
    var entryUri = Uri.base.resolve(args[2]);
  
    setup(packageRoot);
  