From fcf61884cc89501d0743d915d1cb09063ddaaf38 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Fri, 18 Nov 2022 14:48:01 -0500 Subject: [PATCH] benchmark: add text-encoder benchmark PR-URL: https://github.com/nodejs/node/pull/45450 Reviewed-By: Stephen Belanger Reviewed-By: James M Snell Reviewed-By: Luigi Pinca --- benchmark/util/text-encoder.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 benchmark/util/text-encoder.js diff --git a/benchmark/util/text-encoder.js b/benchmark/util/text-encoder.js new file mode 100644 index 00000000000000..ca3cb827779be3 --- /dev/null +++ b/benchmark/util/text-encoder.js @@ -0,0 +1,32 @@ +'use strict'; + +const common = require('../common.js'); + +const BASE = 'string\ud801'; + +const bench = common.createBenchmark(main, { + len: [256, 1024, 1024 * 32], + n: [1e4], + op: ['encode', 'encodeInto'] +}); + +function main({ n, op, len }) { + const encoder = new TextEncoder(); + const input = BASE.repeat(len); + const subarray = new Uint8Array(len); + + bench.start(); + switch (op) { + case 'encode': { + for (let i = 0; i < n; i++) + encoder.encode(input); + break; + } + case 'encodeInto': { + for (let i = 0; i < n; i++) + encoder.encodeInto(input, subarray); + break; + } + } + bench.end(n); +}