Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(969)

Side by Side Diff: utils/tests/string_encoding/benchmark_runner.dart

Issue 11748016: Make ~/, round, ceil, floor, truncate return ints. Remove toInt. (Closed) Base URL: https://dart.googlecode.com/svn/experimental/lib_v2/dart
Patch Set: Checked mode fixes. Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 /** 5 /**
6 * The results of a single block of tests (count times run, overall time). 6 * The results of a single block of tests (count times run, overall time).
7 */ 7 */
8 class BlockSample { 8 class BlockSample {
9 BlockSample(this.count, this.durationNanos); 9 BlockSample(this.count, this.durationNanos);
10 int count; 10 int count;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 double n = source.length.toDouble(); 51 double n = source.length.toDouble();
52 double sumY = BlockSample._totalTime(source).toDouble(); 52 double sumY = BlockSample._totalTime(source).toDouble();
53 double sumXSquared = BlockSample._sum(source, 53 double sumXSquared = BlockSample._sum(source,
54 int _(BlockSample s) => s.count * s.count).toDouble(); 54 int _(BlockSample s) => s.count * s.count).toDouble();
55 double sumX = BlockSample._totalCount(source).toDouble(); 55 double sumX = BlockSample._totalCount(source).toDouble();
56 double sumXY = BlockSample._sum(source, 56 double sumXY = BlockSample._sum(source,
57 int _(BlockSample s) => s.durationNanos * s.count).toDouble(); 57 int _(BlockSample s) => s.durationNanos * s.count).toDouble();
58 58
59 overheadNanos = 59 overheadNanos =
60 ((((sumY * sumXSquared) - (sumX * sumXY)) / 60 ((((sumY * sumXSquared) - (sumX * sumXY)) /
61 ((n * sumXSquared) - (sumX * sumX))) / source.length).toInt(); 61 ((n * sumXSquared) - (sumX * sumX))) / source.length).truncate();
Lasse Reichstein Nielsen 2013/01/04 10:29:42 Indent by one more here.
62 62
63 perRequestNanos = 63 perRequestNanos =
64 (((n * sumXY) - (sumX * sumY)) / 64 (((n * sumXY) - (sumX * sumY)) /
65 ((n * sumXSquared) - (sumX * sumX))).toInt(); 65 ((n * sumXSquared) - (sumX * sumX))).truncate();
Lasse Reichstein Nielsen 2013/01/04 10:29:42 Ditto.
66 } 66 }
67 } 67 }
68 68
69 bool isValid() => overheadNanos >= 0 && perRequestNanos >= 0; 69 bool isValid() => overheadNanos >= 0 && perRequestNanos >= 0;
70 70
71 int overheadNanos; 71 int overheadNanos;
72 int perRequestNanos; 72 int perRequestNanos;
73 int repsFor(int targetDurationNanos, [int blocksize = -1]) { 73 int repsFor(int targetDurationNanos, [int blocksize = -1]) {
74 if (blocksize <= 0) { 74 if (blocksize <= 0) {
75 return ((targetDurationNanos - overheadNanos) / perRequestNanos).toInt(); 75 return ((targetDurationNanos - overheadNanos) / perRequestNanos).truncate( );
Lasse Reichstein Nielsen 2013/01/04 10:29:42 Long line. Use ~/ ?
76 } else { 76 } else {
77 int blockTime = overheadNanos + (blocksize * perRequestNanos); 77 int blockTime = overheadNanos + (blocksize * perRequestNanos);
78 int fullBlocks = targetDurationNanos ~/ blockTime; 78 int fullBlocks = targetDurationNanos ~/ blockTime;
79 int extraReps = 79 int extraReps =
80 ((targetDurationNanos - (fullBlocks * blockTime)) - overheadNanos) 80 ((targetDurationNanos - (fullBlocks * blockTime)) - overheadNanos)
81 ~/ perRequestNanos; 81 ~/ perRequestNanos;
82 return ((fullBlocks * blocksize) + extraReps).toInt(); 82 return ((fullBlocks * blocksize) + extraReps).truncate();
Lasse Reichstein Nielsen 2013/01/04 10:29:42 All operands are int, so drop truncate.
83 } 83 }
84 } 84 }
85 } 85 }
86 86
87 /** 87 /**
88 * Report overall test performance 88 * Report overall test performance
89 */ 89 */
90 class TestReport { 90 class TestReport {
91 TestReport(this.id, this.desc, this.warmup, this.results) { 91 TestReport(this.id, this.desc, this.warmup, this.results) {
92 spaceChar = " ".charCodes[0]; 92 spaceChar = " ".charCodes[0];
93 } 93 }
94 94
95 int spaceChar; 95 int spaceChar;
96 96
97 int resultsCount() => BlockSample._totalCount(results); 97 int resultsCount() => BlockSample._totalCount(results);
98 98
99 int resultsNanos() => BlockSample._totalTime(results); 99 int resultsNanos() => BlockSample._totalTime(results);
100 100
101 int resultsBestNanos() { 101 int resultsBestNanos() {
102 BlockSample best = bestBlock(results); 102 BlockSample best = bestBlock(results);
103 return best.durationNanos ~/ best.count; 103 return best.durationNanos ~/ best.count;
104 } 104 }
105 105
106 int resultsMeanNanos() => 106 int resultsMeanNanos() =>
107 (BlockSample._totalTime(results) / 107 (BlockSample._totalTime(results) ~/
108 BlockSample._totalCount(results)).toInt(); 108 BlockSample._totalCount(results));
Lasse Reichstein Nielsen 2013/01/04 10:29:42 Indent by 1 more, or put on same line if possible.
floitsch 2013/03/11 13:39:15 Done in a different CL.
109 109
110 int resultsWorstNanos() { 110 int resultsWorstNanos() {
111 BlockSample worst = worstBlock(results); 111 BlockSample worst = worstBlock(results);
112 return worst.durationNanos / worst.count; 112 return worst.durationNanos / worst.count;
113 } 113 }
114 114
115 int warmupBestNanos() { 115 int warmupBestNanos() {
116 BlockSample best = bestBlock(warmup); 116 BlockSample best = bestBlock(warmup);
117 return best.durationNanos / best.count; 117 return best.durationNanos / best.count;
118 } 118 }
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 outCodes.insertRange(0, width, spaceChar); 178 outCodes.insertRange(0, width, spaceChar);
179 outCodes.setRange(Math.max(0, width - s.length), Math.min(width, s.length), 179 outCodes.setRange(Math.max(0, width - s.length), Math.min(width, s.length),
180 s.charCodes); 180 s.charCodes);
181 return new String.fromCharCodes(outCodes); 181 return new String.fromCharCodes(outCodes);
182 } 182 }
183 183
184 static String _stringifyDoubleAsInt(double val) { 184 static String _stringifyDoubleAsInt(double val) {
185 if (val.isInfinite || val.isNaN) { 185 if (val.isInfinite || val.isNaN) {
186 return "NaN"; 186 return "NaN";
187 } else { 187 } else {
188 return val.toInt().toString(); 188 return val.truncate().toString();
Lasse Reichstein Nielsen 2013/01/04 10:29:42 .toStringAsFixed(0)
189 } 189 }
190 } 190 }
191 191
192 String id; 192 String id;
193 String desc; 193 String desc;
194 List<BlockSample> warmup; 194 List<BlockSample> warmup;
195 List<BlockSample> results; 195 List<BlockSample> results;
196 } 196 }
197 197
198 class Runner { 198 class Runner {
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 _(TestReport r) => r.printReport() : reportHandler; 450 _(TestReport r) => r.printReport() : reportHandler;
451 } 451 }
452 452
453 Function _reportHandler; 453 Function _reportHandler;
454 Function get reportHandler => _reportHandler; 454 Function get reportHandler => _reportHandler;
455 int _warmup; 455 int _warmup;
456 int _targetTimeMs; 456 int _targetTimeMs;
457 int _minSampleTimeMs; 457 int _minSampleTimeMs;
458 int _blocksize; 458 int _blocksize;
459 } 459 }
OLDNEW
« tools/testing/dart/test_progress.dart ('K') | « tools/testing/dart/test_progress.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698