Skip to content

Commit c23c50e

Browse files
committed
chore: pre-allocate dots arrays
1 parent 361ef97 commit c23c50e

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

intersect.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -328,24 +328,25 @@ function findBezierIntersections(bez1, bez2, justCount) {
328328
n1 = isLine(bez1) ? 1 : ~~(l1 / 5) || 1,
329329
// eslint-disable-next-line no-bitwise
330330
n2 = isLine(bez2) ? 1 : ~~(l2 / 5) || 1,
331-
dots1 = [],
332-
dots2 = [],
331+
dots1 = new Array(n1 + 1),
332+
dots2 = new Array(n2 + 1),
333333
xy = {},
334-
res = justCount ? 0 : [];
334+
res = justCount ? 0 : [],
335+
i, j;
335336

336-
for (var i = 0; i < n1 + 1; i++) {
337+
for (i = 0; i < n1 + 1; i++) {
337338
var p = findDotsAtSegment(...bez1, i / n1);
338-
dots1.push({ x: p.x, y: p.y, t: i / n1 });
339+
dots1[i] = { x: p.x, y: p.y, t: i / n1 };
339340
}
340341

341342
for (i = 0; i < n2 + 1; i++) {
342343
p = findDotsAtSegment(...bez2, i / n2);
343-
dots2.push({ x: p.x, y: p.y, t: i / n2 });
344+
dots2[i] = { x: p.x, y: p.y, t: i / n2 };
344345
}
345346

346347
for (i = 0; i < n1; i++) {
347348

348-
for (var j = 0; j < n2; j++) {
349+
for (j = 0; j < n2; j++) {
349350
var di = dots1[i],
350351
di1 = dots1[i + 1],
351352
dj = dots2[j],

0 commit comments

Comments
 (0)