mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 20:29:11 +00:00
Add TextDecoder benchmark (#3180)
This commit is contained in:
parent
6257b4044a
commit
dc80dd2ace
3 changed files with 43 additions and 0 deletions
38
cli/tests/text_decoder_perf.js
Normal file
38
cli/tests/text_decoder_perf.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
const mixed = new TextEncoder().encode("@Ā๐😀");
|
||||
|
||||
function generateRandom(bytes) {
|
||||
const result = new Uint8Array(bytes);
|
||||
let i = 0;
|
||||
while (i < bytes) {
|
||||
const toAdd = Math.floor(Math.random() * Math.min(4, bytes - i));
|
||||
switch (toAdd) {
|
||||
case 0:
|
||||
result[i] = mixed[0];
|
||||
i++;
|
||||
break;
|
||||
case 1:
|
||||
result[i] = mixed[1];
|
||||
result[i + 1] = mixed[2];
|
||||
i += 2;
|
||||
break;
|
||||
case 2:
|
||||
result[i] = mixed[3];
|
||||
result[i + 1] = mixed[4];
|
||||
result[i + 2] = mixed[5];
|
||||
i += 3;
|
||||
break;
|
||||
case 3:
|
||||
result[i] = mixed[6];
|
||||
result[i + 1] = mixed[7];
|
||||
result[i + 2] = mixed[8];
|
||||
result[i + 3] = mixed[9];
|
||||
i += 4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
const randomData = generateRandom(1024);
|
||||
const decoder = new TextDecoder();
|
||||
for (let i = 0; i < 10_000; i++) decoder.decode(randomData);
|
Loading…
Add table
Add a link
Reference in a new issue