diff options
author | Yagiz Nizipli <yagiz@nizipli.com> | 2022-12-10 09:45:22 -0500 |
---|---|---|
committer | Danielle Adams <adamzdanielle@gmail.com> | 2023-01-04 20:31:54 -0500 |
commit | d9dbaa2363d6f34d26c46aa215c9601d507cc7eb (patch) | |
tree | 3a9ff1d5e83fd823561775002ab1ed94f8867f37 | |
parent | ae6f377b158e1221895f5acf21ca781ff0580fc2 (diff) | |
download | node-new-d9dbaa2363d6f34d26c46aa215c9601d507cc7eb.tar.gz |
benchmark: add variety of inputs to text-encoder
PR-URL: https://github.com/nodejs/node/pull/45787
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
-rw-r--r-- | benchmark/util/text-encoder.js | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/benchmark/util/text-encoder.js b/benchmark/util/text-encoder.js index ca3cb82777..707f76df11 100644 --- a/benchmark/util/text-encoder.js +++ b/benchmark/util/text-encoder.js @@ -2,17 +2,30 @@ const common = require('../common.js'); -const BASE = 'string\ud801'; - const bench = common.createBenchmark(main, { - len: [256, 1024, 1024 * 32], + len: [16, 32, 256, 1024, 1024 * 32], n: [1e4], + type: ['one-byte-string', 'two-byte-string', 'ascii'], op: ['encode', 'encodeInto'] }); -function main({ n, op, len }) { +function main({ n, op, len, type }) { const encoder = new TextEncoder(); - const input = BASE.repeat(len); + let base = ''; + + switch (type) { + case 'ascii': + base = 'a'; + break; + case 'one-byte-string': + base = '\xff'; + break; + case 'two-byte-string': + base = 'ğ'; + break; + } + + const input = base.repeat(len); const subarray = new Uint8Array(len); bench.start(); |