anchor.diff:      argParser.addFlag('watch', help: 'Run analysis continuously, watching the filesystem for changes.', negatable: false);
       argParser.addOption('dart-sdk', help: 'The path to the Dart SDK.', hide: true);
   
  +    // These options enable a benchmarking mode where the total time is written at the
  +    // end of the run to a json file.
  +    argParser.addOption('benchmark-out',
  +      defaultsTo: 'analysis.json',
  +      hide: true,
  +      help: 'Where to write benchmarking output.'
  +    );
  +    argParser.addOption('benchmark-expected',
  +      hide: true,
  +      help: 'The time (in seconds) that the benchmark is expected to run.'
  +    );
  +
       usesPubOption();
     }
   
  
positive.code:       return true;
  
      return false;
    }
  }
  
  
negative.code:     if (exitCode < 0 || exitCode > 3) // analyzer exit codes: 0 = nothing, 1 = hints, 2 = warnings, 3 = errors
        return exitCode;
  
      if (_isBenchmarking)
        _writeBenchmark(stopwatch, errorCount);
  
      if (errorCount > 0) {
        if (membersMissingDocumentation > 0 && argResults['flutter-repo'])
          printError('[lint] $membersMissingDocumentation public ${ membersMissingDocumentation == 1 ? "member lacks" : "members lack" } documentation');
  