diff options
author | 2022-06-22 23:21:48 -0700 | |
---|---|---|
committer | 2022-06-22 23:21:48 -0700 | |
commit | 729d445b6885f69dd2c6355f38707bd42851c791 (patch) | |
tree | f87a7c408929ea3f57bbb7ace380cf869da83c0e /bench/snippets/concat.js | |
parent | 25f820c6bf1d8ec6d444ef579cc036b8c0607b75 (diff) | |
download | bun-729d445b6885f69dd2c6355f38707bd42851c791.tar.gz bun-729d445b6885f69dd2c6355f38707bd42851c791.tar.zst bun-729d445b6885f69dd2c6355f38707bd42851c791.zip |
change the directory structurejarred/rename
Diffstat (limited to 'bench/snippets/concat.js')
-rw-r--r-- | bench/snippets/concat.js | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/bench/snippets/concat.js b/bench/snippets/concat.js deleted file mode 100644 index 46c6e0f7d..000000000 --- a/bench/snippets/concat.js +++ /dev/null @@ -1,66 +0,0 @@ -import { bench, group, run } from "mitata"; -import { readFileSync } from "fs"; -import { allocUnsafe } from "bun"; - -function polyfill(chunks) { - var size = 0; - for (const chunk of chunks) { - size += chunk.byteLength; - } - var buffer = new ArrayBuffer(size); - var view = new Uint8Array(buffer); - var offset = 0; - for (const chunk of chunks) { - view.set(chunk, offset); - offset += chunk.byteLength; - } - return buffer; -} - -function polyfillUninitialized(chunks) { - var size = 0; - for (const chunk of chunks) { - size += chunk.byteLength; - } - var view = allocUnsafe(size); - - var offset = 0; - for (const chunk of chunks) { - view.set(chunk, offset); - offset += chunk.byteLength; - } - return view.buffer; -} - -const chunkGroups = [ - [Uint8Array.from([123]), Uint8Array.from([456]), Uint8Array.from([789])], - Array.from(readFileSync(import.meta.path)).map((a) => Uint8Array.from([a])), - [readFileSync(import.meta.path)], - Array.from({ length: 42 }, () => readFileSync(import.meta.path)), - Array.from({ length: 2 }, () => - new TextEncoder().encode(readFileSync(import.meta.path, "utf8").repeat(100)) - ), -]; - -for (const chunks of chunkGroups) { - group( - `${chunks.reduce( - (prev, curr, i, a) => prev + curr.byteLength, - 0 - )} bytes for ${chunks.length} chunks`, - () => { - bench("Bun.concatArrayBuffers", () => { - Bun.concatArrayBuffers(chunks); - }); - bench("Uint8Array.set", () => { - polyfill(chunks); - }); - - bench("Uint8Array.set (uninitialized memory)", () => { - polyfillUninitialized(chunks); - }); - } - ); -} - -await run(); |