feat(bench press): replace microIterations with microMetrics

This commit is contained in:
Tobias Bosch
2015-03-27 10:37:02 -07:00
parent 3afb744e77
commit 33bfc4c24a
13 changed files with 190 additions and 98 deletions

View File

@ -1,5 +1,5 @@
import {BrowserDomAdapter} from 'angular2/src/dom/browser_adapter';
import {document} from 'angular2/src/facade/browser';
import {document, window} from 'angular2/src/facade/browser';
import {NumberWrapper, BaseException, isBlank} from 'angular2/src/facade/lang';
var DOM = new BrowserDomAdapter();
@ -34,4 +34,11 @@ export function bindAction(selector:string, callback:Function) {
DOM.on(el, 'click', function(_) {
callback();
});
}
}
export function microBenchmark(name, iterationCount, callback) {
var durationName = `${name}/${iterationCount}`;
window.console.time(durationName);
callback();
window.console.timeEnd(durationName);
}

View File

@ -23,26 +23,21 @@ function runBenchmark(config) {
return getScaleFactor(browser.params.benchmark.scaling).then(function(scaleFactor) {
var description = {};
var urlParams = [];
var microIterations = config.microIterations || 0;
var params = config.params || [];
if (microIterations) {
params = params.concat([{
name: 'iterations', value: microIterations, scale: 'linear'
}]);
if (config.params) {
config.params.forEach(function(param) {
var name = param.name;
var value = applyScaleFactor(param.value, scaleFactor, param.scale);
urlParams.push(name + '=' + value);
description[name] = value;
});
}
params.forEach(function(param) {
var name = param.name;
var value = applyScaleFactor(param.value, scaleFactor, param.scale);
urlParams.push(name + '=' + value);
description[name] = value;
});
var url = encodeURI(config.url + '?' + urlParams.join('&'));
browser.get(url);
return benchpressRunner.sample({
id: config.id,
execute: config.work,
prepare: config.prepare,
microIterations: microIterations,
microMetrics: config.microMetrics,
bindings: [
benchpress.bind(benchpress.Options.SAMPLE_DESCRIPTION).toValue(description)
]