| 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 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 ignoreWarmUpAndLog(measuredValue); | 288 ignoreWarmUpAndLog(measuredValue); |
| 289 } catch (exception) { | 289 } catch (exception) { |
| 290 PerfTestRunner.logFatalError("Got an exception while logging the res
ult with name=" + exception.name + ", message=" + exception.message); | 290 PerfTestRunner.logFatalError("Got an exception while logging the res
ult with name=" + exception.name + ", message=" + exception.message); |
| 291 return; | 291 return; |
| 292 } | 292 } |
| 293 | 293 |
| 294 if (completedIterations >= iterationCount) | 294 if (completedIterations >= iterationCount) |
| 295 finish(); | 295 finish(); |
| 296 } | 296 } |
| 297 | 297 |
| 298 function addRunTestStartMarker() { | 298 PerfTestRunner.addRunTestStartMarker = function () { |
| 299 if (!window.testRunner || !window.testRunner.supportTracing) | 299 if (!window.testRunner || !window.testRunner.supportTracing) |
| 300 return; | 300 return; |
| 301 if (completedIterations < 0) | 301 if (completedIterations < 0) |
| 302 console.time('blink_perf.runTest.warmup'); | 302 console.time('blink_perf.runTest.warmup'); |
| 303 else | 303 else |
| 304 console.time('blink_perf.runTest'); | 304 console.time('blink_perf.runTest'); |
| 305 } | 305 }; |
| 306 | 306 |
| 307 function addRunTestEndMarker() { | 307 PerfTestRunner.addRunTestEndMarker = function () { |
| 308 if (!window.testRunner || !window.testRunner.supportTracing) | 308 if (!window.testRunner || !window.testRunner.supportTracing) |
| 309 return; | 309 return; |
| 310 if (completedIterations < 0) | 310 if (completedIterations < 0) |
| 311 console.timeEnd('blink_perf.runTest.warmup'); | 311 console.timeEnd('blink_perf.runTest.warmup'); |
| 312 else | 312 else |
| 313 console.timeEnd('blink_perf.runTest'); | 313 console.timeEnd('blink_perf.runTest'); |
| 314 } | 314 }; |
| 315 | 315 |
| 316 | 316 |
| 317 PerfTestRunner.measureFrameTime = function (test) { | 317 PerfTestRunner.measureFrameTime = function (test) { |
| 318 PerfTestRunner.unit = "ms"; | 318 PerfTestRunner.unit = "ms"; |
| 319 PerfTestRunner.bufferedLog = true; | 319 PerfTestRunner.bufferedLog = true; |
| 320 test.warmUpCount = test.warmUpCount || 5; | 320 test.warmUpCount = test.warmUpCount || 5; |
| 321 test.iterationCount = test.iterationCount || 10; | 321 test.iterationCount = test.iterationCount || 10; |
| 322 // Force gc before starting the test to avoid the measured time from | 322 // Force gc before starting the test to avoid the measured time from |
| 323 // being affected by gc performance. See crbug.com/667811#c16. | 323 // being affected by gc performance. See crbug.com/667811#c16. |
| 324 PerfTestRunner.gc(); | 324 PerfTestRunner.gc(); |
| 325 start(test, requestAnimationFrame, measureFrameTimeOnce); | 325 start(test, requestAnimationFrame, measureFrameTimeOnce); |
| 326 } | 326 } |
| 327 | 327 |
| 328 var lastFrameTime = -1; | 328 var lastFrameTime = -1; |
| 329 function measureFrameTimeOnce() { | 329 function measureFrameTimeOnce() { |
| 330 if (lastFrameTime != -1) | 330 if (lastFrameTime != -1) |
| 331 addRunTestEndMarker(); | 331 PerfTestRunner.addRunTestEndMarker(); |
| 332 var now = PerfTestRunner.now(); | 332 var now = PerfTestRunner.now(); |
| 333 var result = lastFrameTime == -1 ? -1 : now - lastFrameTime; | 333 var result = lastFrameTime == -1 ? -1 : now - lastFrameTime; |
| 334 lastFrameTime = now; | 334 lastFrameTime = now; |
| 335 addRunTestStartMarker(); | 335 PerfTestRunner.addRunTestStartMarker(); |
| 336 | 336 |
| 337 var returnValue = currentTest.run(); | 337 var returnValue = currentTest.run(); |
| 338 if (returnValue - 0 === returnValue) { | 338 if (returnValue - 0 === returnValue) { |
| 339 if (returnValue < 0) | 339 if (returnValue < 0) |
| 340 PerfTestRunner.log("runFunction returned a negative value: " + r
eturnValue); | 340 PerfTestRunner.log("runFunction returned a negative value: " + r
eturnValue); |
| 341 return returnValue; | 341 return returnValue; |
| 342 } | 342 } |
| 343 | 343 |
| 344 return result; | 344 return result; |
| 345 } | 345 } |
| 346 | 346 |
| 347 PerfTestRunner.measureTime = function (test) { | 347 PerfTestRunner.measureTime = function (test) { |
| 348 PerfTestRunner.unit = "ms"; | 348 PerfTestRunner.unit = "ms"; |
| 349 PerfTestRunner.bufferedLog = true; | 349 PerfTestRunner.bufferedLog = true; |
| 350 start(test, zeroTimeoutScheduler, measureTimeOnce); | 350 start(test, zeroTimeoutScheduler, measureTimeOnce); |
| 351 } | 351 } |
| 352 | 352 |
| 353 function zeroTimeoutScheduler(task) { | 353 function zeroTimeoutScheduler(task) { |
| 354 setTimeout(task, 0); | 354 setTimeout(task, 0); |
| 355 } | 355 } |
| 356 | 356 |
| 357 function measureTimeOnce() { | 357 function measureTimeOnce() { |
| 358 // Force gc before measuring time to avoid interference between tests. | 358 // Force gc before measuring time to avoid interference between tests. |
| 359 PerfTestRunner.gc(); | 359 PerfTestRunner.gc(); |
| 360 | 360 |
| 361 addRunTestStartMarker(); | 361 PerfTestRunner.addRunTestStartMarker(); |
| 362 var start = PerfTestRunner.now(); | 362 var start = PerfTestRunner.now(); |
| 363 var returnValue = currentTest.run(); | 363 var returnValue = currentTest.run(); |
| 364 var end = PerfTestRunner.now(); | 364 var end = PerfTestRunner.now(); |
| 365 addRunTestEndMarker(); | 365 PerfTestRunner.addRunTestEndMarker(); |
| 366 | 366 |
| 367 if (returnValue - 0 === returnValue) { | 367 if (returnValue - 0 === returnValue) { |
| 368 if (returnValue < 0) | 368 if (returnValue < 0) |
| 369 PerfTestRunner.log("runFunction returned a negative value: " + r
eturnValue); | 369 PerfTestRunner.log("runFunction returned a negative value: " + r
eturnValue); |
| 370 return returnValue; | 370 return returnValue; |
| 371 } | 371 } |
| 372 | 372 |
| 373 return end - start; | 373 return end - start; |
| 374 } | 374 } |
| 375 | 375 |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 | 438 |
| 439 iframe.contentDocument.close(); | 439 iframe.contentDocument.close(); |
| 440 document.body.removeChild(iframe); | 440 document.body.removeChild(iframe); |
| 441 }; | 441 }; |
| 442 | 442 |
| 443 PerfTestRunner.measureTime(test); | 443 PerfTestRunner.measureTime(test); |
| 444 } | 444 } |
| 445 | 445 |
| 446 window.PerfTestRunner = PerfTestRunner; | 446 window.PerfTestRunner = PerfTestRunner; |
| 447 })(); | 447 })(); |
| OLD | NEW |