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(); o/http2'>ciro/http2 Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/html-rewriter.test.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-01-21Remove UB with `semver.String`Gravatar Jarred Sumner 4-35/+47
2023-01-21[buffer] Add faster path for Uint8ArrayGravatar Jarred Sumner 2-1/+13
2023-01-21Handle string subclasses and new String() in new BufferGravatar Jarred Sumner 1-2/+11
2023-01-21Make Buffer.alloc* 3ns fasterGravatar Jarred Sumner 1-11/+17
2023-01-21[buffer] Make Buffer.from pass more testsGravatar Jarred Sumner 4-92/+179
2023-01-20constructor parameter properties in class expressions (#1867)Gravatar Dylan Conway 2-8/+48
2023-01-20Update transpiler.test.jsbun-v0.5.1Gravatar Jarred Sumner 1-1/+1
2023-01-20Update transpiler.test.jsGravatar Jarred Sumner 1-1/+1
2023-01-20push super before generated statements (#1856)Gravatar Dylan Conway 2-29/+53
2023-01-20Clear the errorsGravatar Jarred Sumner 1-0/+2
2023-01-20one less hash tableGravatar Jarred Sumner 1-2/+13
2023-01-20Add another testGravatar Jarred Sumner 2-1/+11
2023-01-20fix hanging testGravatar Jarred Sumner 1-38/+42
2023-01-20Further cleanup buffer encodingGravatar Jarred Sumner 1-48/+26
2023-01-20Fixes #1855Gravatar Jarred Sumner 2-5/+57
2023-01-20Fix assertion failure with boringssl messagesGravatar Jarred Sumner 3-5/+132
2023-01-19Revert "ignore sighup"Gravatar Jarred Sumner 1-45/+10
2023-01-19ignore sighupGravatar Jarred Sumner 1-10/+45
2023-01-19make this code easier to readGravatar Jarred Sumner 3-29/+26
2023-01-19Update types.zigGravatar Jarred Sumner 1-4/+0
2023-01-19BumpGravatar Jarred Sumner 2-2/+2
2023-01-19Fix buffer encoding bugGravatar Jarred Sumner 2-4/+17
2023-01-19use `String.from()` (#1850)Gravatar Alex Lam S.L 4-5/+12
2023-01-19Bump zigGravatar Jarred Sumner 2-2/+2
2023-01-19make it packedGravatar Jarred Sumner 1-2/+2
2023-01-20Bugfixes to install (#1848)Gravatar Jarred Sumner 5-26/+119
2023-01-19repopulate `alias_map` correctly (#1847)Gravatar Alex Lam S.L 5-70/+240
2023-01-19Add a commentGravatar Jarred Sumner 1-0/+6
2023-01-19Add a debug safety check for UAF in AST nodesGravatar Jarred Sumner 1-0/+5
2023-01-19Fix UAF when opening workspacesGravatar Jarred Sumner 1-2/+0
2023-01-19Improve error message when a workspace is not foundGravatar Jarred Sumner 2-9/+97