Skip to content

Commit 75f692d

Browse files
committed
refactor parcoords - init with new Array and use set instead of push
1 parent 4e3452b commit 75f692d

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

src/traces/parcoords/lines.js

+14-13
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ function adjustDepth(d) {
9696
}
9797

9898
function palette(unitToColor, opacity) {
99-
var result = [];
99+
var result = new Array(256);
100100
for(var i = 0; i < 256; i++) {
101101
result[i] = unitToColor(i / 255).concat(opacity);
102102
}
@@ -113,23 +113,23 @@ function calcPickColor(i, rgbIndex) {
113113
}
114114

115115
function makePoints(sampleCount, dims, color) {
116-
var points = [];
116+
var points = new Array(sampleCount * (maxDim + 4));
117+
var n = 0;
117118
for(var i = 0; i < sampleCount; i++) {
118119
for(var k = 0; k < maxDim; k++) {
119-
points.push(
120-
k < dims.length ? dims[k].paddedUnitValues[i] : 0.5
121-
);
120+
points[n++] = (k < dims.length) ? dims[k].paddedUnitValues[i] : 0.5;
122121
}
123-
points.push(calcPickColor(i, 2));
124-
points.push(calcPickColor(i, 1));
125-
points.push(calcPickColor(i, 0));
126-
points.push(adjustDepth(color[i]));
122+
points[n++] = calcPickColor(i, 2);
123+
points[n++] = calcPickColor(i, 1);
124+
points[n++] = calcPickColor(i, 0);
125+
points[n++] = adjustDepth(color[i]);
127126
}
128127
return points;
129128
}
130129

131130
function makeVecAttr(vecIndex, sampleCount, points) {
132-
var pointPairs = [];
131+
var pointPairs = new Array(sampleCount * 8);
132+
var n = 0;
133133
for(var i = 0; i < sampleCount; i++) {
134134
for(var j = 0; j < 2; j++) {
135135
for(var k = 0; k < 4; k++) {
@@ -138,7 +138,7 @@ function makeVecAttr(vecIndex, sampleCount, points) {
138138
if(q === 63 && j === 0) {
139139
v *= -1;
140140
}
141-
pointPairs.push(v);
141+
pointPairs[n++] = v;
142142
}
143143
}
144144
}
@@ -376,8 +376,9 @@ module.exports = function(canvasGL, d) {
376376
limits[1][k] = p[1];
377377
}
378378

379-
var mask = [];
380-
for(i = 0; i < maskHeight * 8; i++) {
379+
var len = maskHeight * 8;
380+
var mask = new Array(len);
381+
for(i = 0; i < len; i++) {
381382
mask[i] = 255;
382383
}
383384
if(!isContext) {

0 commit comments

Comments
 (0)