JavaScript: array VS Set, performance test

This week i was writing some JavaScript easy script for mirroring data. Main job was work wit data in arrays. I was reading data from arrays, make some calculations with data from there and that is it. Easy.

In first implementation i was using array as structure for manipulation with data. And then I was try rewrite manipulation with data to Set.

Tests

Finally i wrote some simple tests for comparing both ways of implementations. I made array and Set of 1.000.000 items and i tried some basic operations on those.

Results

arraySet
creating25.40 ms128.72 ms
iterating through4.24 ms34.72 ms
finding1.01 ms0.01 ms

Source code

array

const { performance } = require('perf_hooks');

const arrayLength = 1000000;

// creating array
console.log('CREATING TEST');
let start = performance.now();
const items = [];
for (let i = 0; i < arrayLength; i++) {
    items.push(i);
}
console.log(performance.now() - start);
console.log('END TEST\n');

// iteration over array
console.log('ITERATION TEST');
let sum = 0;
start = performance.now();
for (let i = 0; i < arrayLength; i++) {
    sum += items[i];
}
console.log(performance.now() - start);
console.log(`summ = ${sum}`);
console.log('END TEST\n');

// findig in array
console.log('FINDING TEST');
start = performance.now();
if (items.includes(arrayLength - 1)) console.log('OK');
console.log(performance.now() - start);
console.log('END TEST\n');

Set

const { performance } = require('perf_hooks');

const arrayLength = 1000000;

// xreating array
console.log('CREATING TEST');
let start = performance.now();
const items = new Set();
for (let i = 0; i < arrayLength; i++) {
    items.add(i);
}
console.log(performance.now() - start);
console.log('END TEST\n');

// iteration over array
console.log('ITERATION TEST');
let sum = 0;
start = performance.now();
items.forEach(i => {
    sum += i;
});
console.log(performance.now() - start);
console.log(`summ = ${sum}`);
console.log('END TEST\n');

// finding in set
console.log('FINDING TEST');
start = performance.now();
if (items.has(arrayLength - 1)) console.log('OK');
console.log(performance.now() - start);
console.log('END TEST\n');