From f0c8898fb5e8b133001bbea42f1288805d4d4802 Mon Sep 17 00:00:00 2001 From: Brian White Date: Mon, 19 Aug 2019 01:43:29 -0400 Subject: buffer: improve equals() performance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/29199 Reviewed-By: Michaƫl Zasso Reviewed-By: Ruben Bridgewater Reviewed-By: James M Snell Reviewed-By: Yongsheng Zhang Reviewed-By: Luigi Pinca Reviewed-By: Trivikram Kamat Reviewed-By: Rich Trott --- benchmark/buffers/buffer-equals.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 benchmark/buffers/buffer-equals.js (limited to 'benchmark') diff --git a/benchmark/buffers/buffer-equals.js b/benchmark/buffers/buffer-equals.js new file mode 100644 index 0000000000..99d2472bd3 --- /dev/null +++ b/benchmark/buffers/buffer-equals.js @@ -0,0 +1,22 @@ +'use strict'; +const common = require('../common.js'); + +const bench = common.createBenchmark(main, { + size: [0, 512, 16386], + difflen: ['true', 'false'], + n: [1e6] +}); + +function main({ n, size, difflen }) { + const b0 = Buffer.alloc(size, 'a'); + const b1 = Buffer.alloc(size + (difflen === 'true' ? 1 : 0), 'a'); + + if (b1.length > 0) + b1[b1.length - 1] = 'b'.charCodeAt(0); + + bench.start(); + for (let i = 0; i < n; i++) { + b0.equals(b1); + } + bench.end(n); +} -- cgit v1.2.3