Improve scale() performance

This commit is contained in:
Alexander Zobnin
2017-06-26 12:23:04 +03:00
parent f095053ba5
commit 007ddbf72f
11 changed files with 67 additions and 5 deletions

View File

@@ -45,6 +45,17 @@ module.exports = [
}
}
},
{
name: 'scale',
tests: {
'scale()': () => {
ts.scale(datapoints, 42);
},
'scale_perf()': () => {
ts.scale_perf(datapoints, 42);
}
}
},
{
name: 'groupBy vs groupBy_perf',
tests: {

View File

@@ -103,7 +103,7 @@ System.register(['lodash', './utils', './timeseries'], function (_export, _conte
rate = ts.rate;
scale = function scale(factor, datapoints) {
return ts.scale(datapoints, factor);
return ts.scale_perf(datapoints, factor);
};
SUM = ts.SUM;

File diff suppressed because one or more lines are too long

View File

@@ -154,6 +154,14 @@ System.register(['lodash', './utils'], function (_export, _context) {
});
}
function scale_perf(datapoints, factor) {
for (var i = 0; i < datapoints.length; i++) {
datapoints[i] = [datapoints[i][POINT_VALUE] * factor, datapoints[i][POINT_TIMESTAMP]];
}
return datapoints;
}
/**
* Simple delta. Calculate value delta between points.
* @param {*} datapoints
@@ -322,6 +330,7 @@ System.register(['lodash', './utils'], function (_export, _context) {
groupBy_perf: groupBy_perf,
sumSeries: sumSeries,
scale: scale,
scale_perf: scale_perf,
delta: delta,
rate: rate,
SUM: SUM,

File diff suppressed because one or more lines are too long

View File

@@ -49,6 +49,16 @@ module.exports = [{
_timeseries2.default.rate(growing_series);
}
}
}, {
name: 'scale',
tests: {
'scale()': function scale() {
_timeseries2.default.scale(datapoints, 42);
},
'scale_perf()': function scale_perf() {
_timeseries2.default.scale_perf(datapoints, 42);
}
}
}, {
name: 'groupBy vs groupBy_perf',
tests: {

View File

@@ -29,7 +29,7 @@ var sumSeries = _timeseries2.default.sumSeries;
var delta = _timeseries2.default.delta;
var rate = _timeseries2.default.rate;
var scale = function scale(factor, datapoints) {
return _timeseries2.default.scale(datapoints, factor);
return _timeseries2.default.scale_perf(datapoints, factor);
};
var SUM = _timeseries2.default.SUM;

View File

@@ -179,6 +179,14 @@ function scale(datapoints, factor) {
});
}
function scale_perf(datapoints, factor) {
for (var i = 0; i < datapoints.length; i++) {
datapoints[i] = [datapoints[i][POINT_VALUE] * factor, datapoints[i][POINT_TIMESTAMP]];
}
return datapoints;
}
/**
* Simple delta. Calculate value delta between points.
* @param {*} datapoints
@@ -338,6 +346,7 @@ var exportedFunctions = {
groupBy_perf: groupBy_perf,
sumSeries: sumSeries,
scale: scale,
scale_perf: scale_perf,
delta: delta,
rate: rate,
SUM: SUM,