node.js 配列が結合できる「concat」と「スプレッド構文」のパフォーマンスを計測する
node.jsで、配列を結合する際に利用する「concat」と「スプレッド構文」のパフォーマンスを計測するサンプルコードを記述してます。nodeのバージョンは14.15.1を使用してます。
環境
- OS windows10 pro 64bit
- node V14.15.1
パフォーマンス計測
benchmarkを使用して、「concat」と「…」を使用して、配列を結合するコードを実行して、パフォーマンスを計測するサンプルコードとなります。
benchmarkインストール手順
npm i benchmark
サンプルコード
const Benchmark = require('benchmark');
const suite = new Benchmark.Suite;
// add tests
suite
.add('concat', function() {
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6].concat(arr1);
})
.add('Spread', function() {
let arr3 = [1, 2, 3];
let arr4 = [4, 5, 6, ...arr3];
})
// add listeners
.on('cycle', function(event) {
console.log(String(event.target));
})
.on('complete', function() {
console.log('パフォーマンスがいいのは ' + this.filter('fastest').map('name') + 'となります');
})
// run async
.run({ 'async': true });
実行結果 (benchmarkを少しだけ日本語化してます)
concat x 4,839,622 回/秒 ±0.46% (89 runs sampled)
Spread x 19,496,693 回/秒 ±0.29% (91 runs sampled)
パフォーマンスがいいのは Spreadとなります
1秒間に実行できる回数をみると、断然Spreadで定義した方がいい結果になりました。
-
前の記事
MySQL 接続時にメッセージを非表示にする 2021.11.02
-
次の記事
MIRACLE LINUX Nimをインストールする 2021.11.02
コメントを書く