Improve scale() performance
This commit is contained in:
@@ -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: {
|
||||
|
||||
@@ -8,7 +8,7 @@ let groupBy_exported = (interval, groupFunc, datapoints) => groupBy(datapoints,
|
||||
let sumSeries = ts.sumSeries;
|
||||
let delta = ts.delta;
|
||||
let rate = ts.rate;
|
||||
let scale = (factor, datapoints) => ts.scale(datapoints, factor);
|
||||
let scale = (factor, datapoints) => ts.scale_perf(datapoints, factor);
|
||||
|
||||
let SUM = ts.SUM;
|
||||
let COUNT = ts.COUNT;
|
||||
|
||||
@@ -169,6 +169,17 @@ function scale(datapoints, factor) {
|
||||
});
|
||||
}
|
||||
|
||||
function scale_perf(datapoints, factor) {
|
||||
for (let 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
|
||||
@@ -327,6 +338,7 @@ const exportedFunctions = {
|
||||
groupBy_perf,
|
||||
sumSeries,
|
||||
scale,
|
||||
scale_perf,
|
||||
delta,
|
||||
rate,
|
||||
SUM,
|
||||
|
||||
Reference in New Issue
Block a user