Created
January 28, 2020 13:02
-
-
Save wooandoo/647c1f6293fd4ab9abd747899f81aae1 to your computer and use it in GitHub Desktop.
concat arrays (http://jsbench.github.io/#647c1f6293fd4ab9abd747899f81aae1) #jsbench #jsperf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"/> | |
<title>concat arrays</title> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/benchmark/1.0.0/benchmark.min.js"></script> | |
<script src="./suite.js"></script> | |
</head> | |
<body> | |
<h1>Open the console to view the results</h1> | |
<h2><code>cmd + alt + j</code> or <code>ctrl + alt + j</code></h2> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
(function (factory) { | |
if (typeof Benchmark !== "undefined") { | |
factory(Benchmark); | |
} else { | |
factory(require("benchmark")); | |
} | |
})(function (Benchmark) { | |
var suite = new Benchmark.Suite; | |
Benchmark.prototype.setup = function () { | |
const add_items = (container, new_items) => new_items.forEach(item => container.push(item)) | |
}; | |
suite.add("const array_1 = [1, 2, 3, 4]", function () { | |
const array_1 = [1, 2, 3, 4] | |
const array_2 = [5, 6, 7, 8, 9] | |
const array_3 = [10] | |
const concated_array = [ | |
...array_1, | |
...array_2, | |
...array_3 | |
] | |
}); | |
suite.add("const array_1 = [1, 2, 3, 4]", function () { | |
const array_1 = [1, 2, 3, 4] | |
const array_2 = [5, 6, 7, 8, 9] | |
const array_3 = [10] | |
array_2.forEach(item => array_1.push(item)) | |
array_3.forEach(item => array_1.push(item)) | |
}); | |
suite.add("const array_1 = [1, 2, 3, 4]", function () { | |
const array_1 = [1, 2, 3, 4] | |
const array_2 = [5, 6, 7, 8, 9] | |
const array_3 = [10] | |
array_1.splice(array_1.length, 0, ...array_2) | |
array_1.splice(array_1.length, 0, ...array_3) | |
}); | |
suite.add("const array_1 = [1, 2, 3, 4]", function () { | |
const array_1 = [1, 2, 3, 4] | |
const array_2 = [5, 6, 7, 8, 9] | |
const array_3 = [10] | |
const concated_array = array_1.concat(array_2).concat(array_3) | |
}); | |
suite.add("const array_1 = [1, 2, 3, 4]", function () { | |
const array_1 = [1, 2, 3, 4] | |
const array_2 = [5, 6, 7, 8, 9] | |
const array_3 = [10] | |
array_2.push(...array_2) | |
array_3.push(...array_3) | |
}); | |
suite.add("var array_1 = [1, 2, 3, 4];", function () { | |
var array_1 = [1, 2, 3, 4]; | |
var array_2 = [5, 6, 7, 8, 9]; | |
var array_3 = [10]; | |
add_items(array_1, array_2) | |
add_items(array_1, array_3) | |
}); | |
suite.on("cycle", function (evt) { | |
console.log(" - " + evt.target); | |
}); | |
suite.on("complete", function (evt) { | |
console.log(new Array(30).join("-")); | |
var results = evt.currentTarget.sort(function (a, b) { | |
return b.hz - a.hz; | |
}); | |
results.forEach(function (item) { | |
console.log((idx + 1) + ". " + item); | |
}); | |
}); | |
console.log("concat arrays"); | |
console.log(new Array(30).join("-")); | |
suite.run(); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment