Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // There are tests for computeStatistics() located in LayoutTests/fast/harness/p erftests | 1 // There are tests for computeStatistics() located in LayoutTests/fast/harness/p erftests |
| 2 | 2 |
| 3 if (window.testRunner) { | 3 if (window.testRunner) { |
| 4 testRunner.waitUntilDone(); | 4 testRunner.waitUntilDone(); |
| 5 testRunner.dumpAsText(); | 5 testRunner.dumpAsText(); |
| 6 } | 6 } |
| 7 | 7 |
| 8 (function () { | 8 (function () { |
| 9 var logLines = null; | 9 var logLines = null; |
| 10 var completedIterations = -1; | 10 var completedIterations = -1; |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 150 return; | 150 return; |
| 151 } | 151 } |
| 152 currentTest = test; | 152 currentTest = test; |
| 153 iterationCount = test.iterationCount || (window.testRunner ? 5 : 20); | 153 iterationCount = test.iterationCount || (window.testRunner ? 5 : 20); |
| 154 if (test.warmUpCount && test.warmUpCount > 0) | 154 if (test.warmUpCount && test.warmUpCount > 0) |
| 155 completedIterations = -test.warmUpCount; | 155 completedIterations = -test.warmUpCount; |
| 156 logLines = PerfTestRunner.bufferedLog || window.testRunner ? [] : null; | 156 logLines = PerfTestRunner.bufferedLog || window.testRunner ? [] : null; |
| 157 PerfTestRunner.log("Running " + iterationCount + " times"); | 157 PerfTestRunner.log("Running " + iterationCount + " times"); |
| 158 if (test.doNotIgnoreInitialRun) | 158 if (test.doNotIgnoreInitialRun) |
| 159 completedIterations++; | 159 completedIterations++; |
| 160 if (runner) | 160 |
| 161 if (runner && test.tracingCategories && window.testRunner && | |
| 162 window.testRunner.supportTracing) { | |
| 163 window.testRunner.traceEventsToMeasure = test.traceEventsToMeasure; | |
|
Xianzhu
2017/04/21 01:31:51
Nit: Use indentation (4) consistent with the origi
nednguyen
2017/04/24 20:55:21
Done.
| |
| 164 window.testRunner.startTracing(test.tracingCategories, function() { | |
| 161 scheduleNextRun(scheduler, runner); | 165 scheduleNextRun(scheduler, runner); |
| 166 }); | |
| 167 } else if (runner) { | |
| 168 scheduleNextRun(scheduler, runner); | |
| 169 } | |
| 162 } | 170 } |
| 163 | 171 |
| 164 function scheduleNextRun(scheduler, runner) { | 172 function scheduleNextRun(scheduler, runner) { |
| 165 scheduler(function () { | 173 scheduler(function () { |
| 166 // This will be used by tools/perf/benchmarks/blink_perf.py to find | 174 // This will be used by tools/perf/benchmarks/blink_perf.py to find |
| 167 // traces during the measured runs. | 175 // traces during the measured runs. |
| 168 if (completedIterations >= 0) | 176 if (completedIterations >= 0) |
| 169 console.time("blink_perf"); | 177 console.time("blink_perf"); |
| 170 | 178 |
| 171 try { | 179 try { |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 241 ignoreWarmUpAndLog(measuredValue); | 249 ignoreWarmUpAndLog(measuredValue); |
| 242 } catch (exception) { | 250 } catch (exception) { |
| 243 PerfTestRunner.logFatalError("Got an exception while logging the res ult with name=" + exception.name + ", message=" + exception.message); | 251 PerfTestRunner.logFatalError("Got an exception while logging the res ult with name=" + exception.name + ", message=" + exception.message); |
| 244 return; | 252 return; |
| 245 } | 253 } |
| 246 | 254 |
| 247 if (completedIterations >= iterationCount) | 255 if (completedIterations >= iterationCount) |
| 248 finish(); | 256 finish(); |
| 249 } | 257 } |
| 250 | 258 |
| 259 function addRunTestStartMarker() { | |
| 260 if (window.testRunner === undefined || !window.testRunner.supportTracing) | |
|
Xianzhu
2017/04/21 01:31:51
Nit: !window.testRunner?
nednguyen
2017/04/24 20:55:21
Done.
| |
| 261 return; | |
| 262 if (completedIterations < 0) | |
| 263 console.time('blink_perf.runTest.warmup'); | |
| 264 else | |
| 265 console.time('blink_perf.runTest'); | |
| 266 } | |
| 267 | |
| 268 function addRunTestEndMarker() { | |
| 269 if (window.testRunner === undefined || !window.testRunner.supportTracing) | |
| 270 return; | |
| 271 if (completedIterations < 0) | |
| 272 console.timeEnd('blink_perf.runTest.warmup'); | |
| 273 else | |
| 274 console.timeEnd('blink_perf.runTest'); | |
| 275 } | |
| 276 | |
| 277 | |
| 251 PerfTestRunner.measureFrameTime = function (test) { | 278 PerfTestRunner.measureFrameTime = function (test) { |
| 252 PerfTestRunner.unit = "ms"; | 279 PerfTestRunner.unit = "ms"; |
| 253 PerfTestRunner.bufferedLog = true; | 280 PerfTestRunner.bufferedLog = true; |
| 254 test.warmUpCount = test.warmUpCount || 5; | 281 test.warmUpCount = test.warmUpCount || 5; |
| 255 test.iterationCount = test.iterationCount || 10; | 282 test.iterationCount = test.iterationCount || 10; |
| 256 // Force gc before starting the test to avoid the measured time from | 283 // Force gc before starting the test to avoid the measured time from |
| 257 // being affected by gc performance. See crbug.com/667811#c16. | 284 // being affected by gc performance. See crbug.com/667811#c16. |
| 258 PerfTestRunner.gc(); | 285 PerfTestRunner.gc(); |
| 259 start(test, requestAnimationFrame, measureFrameTimeOnce); | 286 start(test, requestAnimationFrame, measureFrameTimeOnce); |
| 260 } | 287 } |
| 261 | 288 |
| 262 var lastFrameTime = -1; | 289 var lastFrameTime = -1; |
| 263 function measureFrameTimeOnce() { | 290 function measureFrameTimeOnce() { |
| 291 if (lastFrameTime != -1) | |
| 292 addRunTestEndMarker(); | |
| 264 var now = PerfTestRunner.now(); | 293 var now = PerfTestRunner.now(); |
| 265 var result = lastFrameTime == -1 ? -1 : now - lastFrameTime; | 294 var result = lastFrameTime == -1 ? -1 : now - lastFrameTime; |
| 266 lastFrameTime = now; | 295 lastFrameTime = now; |
| 296 addRunTestStartMarker(); | |
| 267 | 297 |
| 268 var returnValue = currentTest.run(); | 298 var returnValue = currentTest.run(); |
| 269 if (returnValue - 0 === returnValue) { | 299 if (returnValue - 0 === returnValue) { |
| 270 if (returnValue < 0) | 300 if (returnValue < 0) |
| 271 PerfTestRunner.log("runFunction returned a negative value: " + r eturnValue); | 301 PerfTestRunner.log("runFunction returned a negative value: " + r eturnValue); |
| 272 return returnValue; | 302 return returnValue; |
| 273 } | 303 } |
| 274 | 304 |
| 275 return result; | 305 return result; |
| 276 } | 306 } |
| 277 | 307 |
| 278 PerfTestRunner.measureTime = function (test) { | 308 PerfTestRunner.measureTime = function (test) { |
| 279 PerfTestRunner.unit = "ms"; | 309 PerfTestRunner.unit = "ms"; |
| 280 PerfTestRunner.bufferedLog = true; | 310 PerfTestRunner.bufferedLog = true; |
| 281 start(test, zeroTimeoutScheduler, measureTimeOnce); | 311 start(test, zeroTimeoutScheduler, measureTimeOnce); |
| 282 } | 312 } |
| 283 | 313 |
| 284 function zeroTimeoutScheduler(task) { | 314 function zeroTimeoutScheduler(task) { |
| 285 setTimeout(task, 0); | 315 setTimeout(task, 0); |
| 286 } | 316 } |
| 287 | 317 |
| 288 function measureTimeOnce() { | 318 function measureTimeOnce() { |
| 289 // Force gc before measuring time to avoid interference between tests. | 319 // Force gc before measuring time to avoid interference between tests. |
| 290 PerfTestRunner.gc(); | 320 PerfTestRunner.gc(); |
| 291 | 321 |
| 292 var start = PerfTestRunner.now(); | 322 var start = PerfTestRunner.now(); |
| 323 addRunTestStartMarker(); | |
| 293 var returnValue = currentTest.run(); | 324 var returnValue = currentTest.run(); |
| 325 addRunTestEndMarker(); | |
| 294 var end = PerfTestRunner.now(); | 326 var end = PerfTestRunner.now(); |
| 295 | 327 |
| 296 if (returnValue - 0 === returnValue) { | 328 if (returnValue - 0 === returnValue) { |
| 297 if (returnValue < 0) | 329 if (returnValue < 0) |
| 298 PerfTestRunner.log("runFunction returned a negative value: " + r eturnValue); | 330 PerfTestRunner.log("runFunction returned a negative value: " + r eturnValue); |
| 299 return returnValue; | 331 return returnValue; |
| 300 } | 332 } |
| 301 | 333 |
| 302 return end - start; | 334 return end - start; |
| 303 } | 335 } |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 367 | 399 |
| 368 iframe.contentDocument.close(); | 400 iframe.contentDocument.close(); |
| 369 document.body.removeChild(iframe); | 401 document.body.removeChild(iframe); |
| 370 }; | 402 }; |
| 371 | 403 |
| 372 PerfTestRunner.measureTime(test); | 404 PerfTestRunner.measureTime(test); |
| 373 } | 405 } |
| 374 | 406 |
| 375 window.PerfTestRunner = PerfTestRunner; | 407 window.PerfTestRunner = PerfTestRunner; |
| 376 })(); | 408 })(); |
| OLD | NEW |