import { bench, group, run } from "./runner.mjs"; 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(); tion value='ciro/proxy-connect-tests'>ciro/proxy-connect-tests Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets/array-arguments-slice.mjs (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-10-09fix(AbortSignal/fetch) fix AbortSignal.timeout, fetch lock behavior and fetch...Gravatar Ciro Spaciari 29-61/+303
2023-10-09Fix npm tag for canary bun-types, againGravatar Ashcon Partovi 2-56/+10
2023-10-09Add Fedora build instructions to development.md (#6359)Gravatar otterDeveloper 1-0/+10
2023-10-09added commands (#6314)Gravatar babar 1-1/+2
2023-10-09Update README.md (#6291)Gravatar TPLJ 1-1/+1
2023-10-09docs: fixing a couple typos (#6331)Gravatar Michael Di Prisco 2-2/+2
2023-10-09fix: support uint8 exit code range (#6303)Gravatar Liz 2-2/+11
2023-10-09Fix array variables preview in debugger (#6379)Gravatar 2hu 1-1/+4
2023-10-07feat(KeyObject) (#5940)Gravatar Ciro Spaciari 106-67/+9342
2023-10-07Exclude more filesGravatar Jarred Sumner 1-1/+1
2023-10-07Exclude more filesGravatar Jarred Sumner 1-1/+2
2023-10-07Update settings.jsonGravatar Jarred Sumner 1-1/+2
2023-10-07Update settings.jsonGravatar Jarred Sumner 1-2/+3
2023-10-06fix a couple install testsGravatar Dylan Conway 1-8/+8
2023-10-06formatGravatar Dylan Conway 1-1/+2
2023-10-06Fix memory leak in fetch() (#6350)Gravatar Jarred Sumner 1-2/+0
2023-10-06[types] allow onLoad plugin callbacks to return undefined (#6346)Gravatar Silver 1-1/+1
2023-10-06docs: `file.stream()` is not a promise (#6337)Gravatar Paul Nodet 1-1/+1