| OLD | NEW |
| 1 // Magnitude verifies time complexity of a function. | 1 // Magnitude verifies time complexity of a function. |
| 2 // Magnitude.run can be called multiple times in a single script if desired, | 2 // Magnitude.run can be called multiple times in a single script if desired, |
| 3 // optionally with different parameters each time. | 3 // optionally with different parameters each time. |
| 4 // | 4 // |
| 5 // Usage: | 5 // Usage: |
| 6 // <script src="../resources/magnitude-perf.js"></script> | 6 // <script src="../resources/magnitude-perf.js"></script> |
| 7 // <script> | 7 // <script> |
| 8 // function setup(magnitude) | 8 // function setup(magnitude) |
| 9 // { | 9 // { |
| 10 // ... | 10 // ... |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 | 192 |
| 193 Magnitude._runTime = function(setup, test, magnitude) | 193 Magnitude._runTime = function(setup, test, magnitude) |
| 194 { | 194 { |
| 195 setup(magnitude); | 195 setup(magnitude); |
| 196 | 196 |
| 197 var debugStr = 'run for magnitude ' + magnitude; | 197 var debugStr = 'run for magnitude ' + magnitude; |
| 198 if (window.GCController) { | 198 if (window.GCController) { |
| 199 if (GCController.getJSObjectCount) | 199 if (GCController.getJSObjectCount) |
| 200 debugStr += ' jsObjectCountBefore ' + GCController.getJSObjectCount(
); | 200 debugStr += ' jsObjectCountBefore ' + GCController.getJSObjectCount(
); |
| 201 | 201 |
| 202 // Do a gc to reduce likelihood of gc during the test run. | 202 GCController.collectAll(); |
| 203 // Do multiple gc's for V8 to clear DOM wrappers. | |
| 204 GCController.collect(); | |
| 205 GCController.collect(); | |
| 206 GCController.collect(); | |
| 207 | 203 |
| 208 if (GCController.getJSObjectCount) | 204 if (GCController.getJSObjectCount) |
| 209 debugStr += ' jsObjectCountAfter ' + GCController.getJSObjectCount()
; | 205 debugStr += ' jsObjectCountAfter ' + GCController.getJSObjectCount()
; |
| 210 } | 206 } |
| 211 | 207 |
| 212 Magnitude._debug(debugStr); | 208 Magnitude._debug(debugStr); |
| 213 | 209 |
| 214 var nowFunction = window.performance && window.performance.now ? | 210 var nowFunction = window.performance && window.performance.now ? |
| 215 window.performance.now.bind(window.performance) : Date.now; | 211 window.performance.now.bind(window.performance) : Date.now; |
| 216 | 212 |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 }; | 347 }; |
| 352 | 348 |
| 353 // Register listener | 349 // Register listener |
| 354 window.addEventListener('load', function() { | 350 window.addEventListener('load', function() { |
| 355 // FIXME: Add Magnitude.waitUntilDone/notifyDone for tests that need to | 351 // FIXME: Add Magnitude.waitUntilDone/notifyDone for tests that need to |
| 356 // operate after the load event has fired. | 352 // operate after the load event has fired. |
| 357 if (window.testRunner) | 353 if (window.testRunner) |
| 358 document.body.innerHTML = ''; | 354 document.body.innerHTML = ''; |
| 359 document.body.appendChild(Magnitude._container); | 355 document.body.appendChild(Magnitude._container); |
| 360 }, false); | 356 }, false); |
| OLD | NEW |