| <!DOCTYPE html> |
| <!-- |
| Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <link rel="import" href="/tracing/base/xhr.html"> |
| <link rel="import" href="/tracing/core/test_utils.html"> |
| <link rel="import" href="/tracing/extras/importer/trace_event_importer.html"> |
| <link rel="import" href="/tracing/model/model.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tr.b.unittest.testSuite(function() { |
| var eventStrings = {}; |
| |
| // @const |
| var TEST_NAMES = ['simple_trace', 'lthi_cats']; |
| // @const |
| var TEST_FILES_PATHS = ['/test_data/simple_trace.json', |
| '/test_data/lthi_cats.json.gz']; |
| |
| function getEvents(url) { |
| if (url in eventStrings) |
| return eventStrings[url]; |
| eventStrings[url] = tr.b.getSync(url); |
| return eventStrings[url]; |
| } |
| |
| function timedPerfTestWithEvents(name, testFn, initialOptions) { |
| if (initialOptions.setUp) |
| throw new Error( |
| 'Per-test setUp not supported. Trivial to fix if needed.'); |
| |
| var options = {}; |
| for (var k in initialOptions) |
| options[k] = initialOptions[k]; |
| options.setUp = function() { |
| TEST_FILES_PATHS.forEach( |
| function warmup(url) { |
| getEvents(url); |
| }); |
| }; |
| timedPerfTest(name, testFn, options); |
| } |
| |
| var n110100 = [1, 10, 100]; |
| n110100.forEach(function(val) { |
| timedPerfTestWithEvents(TEST_NAMES[0] + '_' + val, function() { |
| var events = getEvents(TEST_FILES_PATHS[0]); |
| var m = tr.c.TestUtils.newModelWithEvents([events], { |
| shiftWorldToZero: false, |
| pruneContainers: false |
| }); |
| }, {iterations: val}); |
| }); |
| |
| timedPerfTestWithEvents(TEST_NAMES[1] + '_1', function() { |
| var events = getEvents(TEST_FILES_PATHS[1]); |
| var m = tr.c.TestUtils.newModelWithEvents([events], { |
| shiftWorldToZero: false, |
| pruneContainers: false |
| }); |
| }, {iterations: 1}); |
| }); |
| </script> |
| |