| Index: third_party/pkg/angular/perf/_perf.dart
|
| diff --git a/third_party/pkg/angular/perf/_perf.dart b/third_party/pkg/angular/perf/_perf.dart
|
| deleted file mode 100644
|
| index aaa7437f4a4c44e5cbfa0ea629e65bd815ee0e20..0000000000000000000000000000000000000000
|
| --- a/third_party/pkg/angular/perf/_perf.dart
|
| +++ /dev/null
|
| @@ -1,109 +0,0 @@
|
| -library _perf;
|
| -
|
| -import 'package:intl/intl.dart';
|
| -import 'dart:math';
|
| -
|
| -xtime(name, body) => null;
|
| -time(name, body) {
|
| - print('$name: => ${statMeasure(body)}');
|
| -}
|
| -
|
| -statMeasure(body) {
|
| - var list = [];
|
| - var count = 100;
|
| - for(var i = 0; i < count; i++) {
|
| - list.add(measure(body));
|
| - }
|
| - list.sort((a, b) => (a.rate - b.rate).toInt());
|
| - return new StatSample(list);
|
| -}
|
| -
|
| -measure(b) {
|
| - // actual test;
|
| - var count = 0;
|
| - var stopwatch = new Stopwatch();
|
| - var targetTime = 50 * 1000;
|
| - stopwatch.start();
|
| - do {
|
| - b();
|
| - count++;
|
| - } while(stopwatch.elapsedMicroseconds < targetTime);
|
| -
|
| - stopwatch.reset();
|
| - if (count < 100) {
|
| - for(var i = 0; i < count; i++) {
|
| - b();
|
| - }
|
| - } else {
|
| - var repeat = count ~/ 100;
|
| - for(var i = 0; i < repeat; i++) {
|
| - //0 1 2 3 4 5 6 7 8 9
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 0
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 1
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 2
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 3
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 4
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 5
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 6
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 7
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 8
|
| - b(); b(); b(); b(); b(); b(); b(); b(); b(); b(); // 9
|
| - }
|
| - }
|
| - stopwatch.stop();
|
| - int elapsed = max(1, stopwatch.elapsedMicroseconds);
|
| - return new Sample(count, elapsed);
|
| -}
|
| -
|
| -main() {}
|
| -
|
| -class StatSample {
|
| - num meanAll = 0;
|
| - num varianceAll = 0;
|
| - num mean = 0;
|
| - num variance = 0;
|
| -
|
| - StatSample(l) {
|
| - meanAll = l.fold(0, meanFoldFn) / l.length;
|
| - varianceAll = computeVariance(l);
|
| -
|
| - var n = l.length;
|
| - var lower = (n*.5).toInt();
|
| - var upper = n - (n*.05).toInt();
|
| - l = l.getRange(lower, upper).toList();
|
| - mean = l.fold(0, meanFoldFn) / l.length;
|
| - variance = computeVariance(l);
|
| - }
|
| -
|
| - meanFoldFn(p, e) => p + e.rate;
|
| - sumSqrsFn(p, e) => p + (mean-e.rate)*(mean-e.rate);
|
| - sumDiffFn(p, e) => p + (mean-e.rate);
|
| - get mean_ops_sec => mean * 1000000;
|
| - computeVariance(l) {
|
| - var n = l.length;
|
| - var sumDiffs = l.fold(0, sumDiffFn);
|
| - var sumSqrs = l.fold(0, sumSqrsFn);
|
| -
|
| - return (sumSqrs - sumDiffs*sumDiffs/n)/(n - 1);
|
| - }
|
| -
|
| - toString() {
|
| - var nf = new NumberFormat.decimalPattern()..maximumFractionDigits = 0;
|
| - var nfp = new NumberFormat.decimalPattern()..maximumFractionDigits = 5;
|
| -
|
| - return '${nf.format(mean_ops_sec)} ops/sec ' +
|
| - '(${nf.format(1 / mean)} us) ' +
|
| - 'stdev(${nfp.format(sqrt(variance))})';
|
| - }
|
| -}
|
| -
|
| -class Sample {
|
| - num count;
|
| - num time_us;
|
| -
|
| - Sample(this.count, this.time_us);
|
| -
|
| - get rate => count / time_us;
|
| -
|
| - toString() => rate;
|
| -}
|
|
|