| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 /// An entrypoint used to run portions of front_end and measure its performance. | 5 /// An entrypoint used to run portions of front_end and measure its performance. |
| 6 library front_end.tool.perf; | 6 library front_end.tool.perf; |
| 7 | 7 |
| 8 import 'dart:async'; | 8 import 'dart:async'; |
| 9 import 'dart:io' show exit, stderr; | 9 import 'dart:io' show exit, stderr; |
| 10 | 10 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 // the GC pressure on the VM seems to make this worse with time (maybe we | 67 // the GC pressure on the VM seems to make this worse with time (maybe we |
| 68 // are leaking memory?). That's why we run it twice and not 10 times. | 68 // are leaking memory?). That's why we run it twice and not 10 times. |
| 69 for (int i = 0; i < 2; i++) await generateKernel(entryUri); | 69 for (int i = 0; i < 2; i++) await generateKernel(entryUri); |
| 70 }, | 70 }, |
| 71 }; | 71 }; |
| 72 | 72 |
| 73 var handler = handlers[bench]; | 73 var handler = handlers[bench]; |
| 74 if (handler == null) { | 74 if (handler == null) { |
| 75 // TODO(sigmund): implement the remaining benchmarks. | 75 // TODO(sigmund): implement the remaining benchmarks. |
| 76 print('unsupported bench-id: $bench. Please specify one of the following: ' | 76 print('unsupported bench-id: $bench. Please specify one of the following: ' |
| 77 '${handler.keys.join(", ")}'); | 77 '${handlers.keys.join(", ")}'); |
| 78 exit(1); | 78 exit(1); |
| 79 } | 79 } |
| 80 await handler(); | 80 await handler(); |
| 81 | 81 |
| 82 totalTimer.stop(); | 82 totalTimer.stop(); |
| 83 report("total", totalTimer.elapsedMicroseconds); | 83 report("total", totalTimer.elapsedMicroseconds); |
| 84 } | 84 } |
| 85 | 85 |
| 86 /// Sets up analyzer to be able to load and resolve app, packages, and sdk | 86 /// Sets up analyzer to be able to load and resolve app, packages, and sdk |
| 87 /// sources. | 87 /// sources. |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 const int errorLimit = 100; | 236 const int errorLimit = 100; |
| 237 stderr.writeln(errors.take(errorLimit).join('\n')); | 237 stderr.writeln(errors.take(errorLimit).join('\n')); |
| 238 if (errors.length > errorLimit) { | 238 if (errors.length > errorLimit) { |
| 239 stderr.writeln('[error] ${errors.length - errorLimit} errors not shown'); | 239 stderr.writeln('[error] ${errors.length - errorLimit} errors not shown'); |
| 240 } | 240 } |
| 241 } | 241 } |
| 242 dartkTimer.stop(); | 242 dartkTimer.stop(); |
| 243 report("kernel_gen_e2e", dartkTimer.elapsedMicroseconds); | 243 report("kernel_gen_e2e", dartkTimer.elapsedMicroseconds); |
| 244 return program; | 244 return program; |
| 245 } | 245 } |
| OLD | NEW |