diff options
-rw-r--r-- | bench/async-overhead.mjs | 7 | ||||
-rw-r--r-- | bench/ffi/ffi-data-overhead.js | 33 | ||||
-rw-r--r-- | bench/performance-now-overhead.js | 17 |
3 files changed, 57 insertions, 0 deletions
diff --git a/bench/async-overhead.mjs b/bench/async-overhead.mjs new file mode 100644 index 000000000..1fe94f15b --- /dev/null +++ b/bench/async-overhead.mjs @@ -0,0 +1,7 @@ +import { run, bench } from "mitata"; + +bench("async", async () => 1); +bench("await 1", async () => await 1); +bench("noop", () => {}); + +await run(); diff --git a/bench/ffi/ffi-data-overhead.js b/bench/ffi/ffi-data-overhead.js new file mode 100644 index 000000000..3bc2884f4 --- /dev/null +++ b/bench/ffi/ffi-data-overhead.js @@ -0,0 +1,33 @@ +import { + viewSource, + dlopen, + CString, + ptr, + toBuffer, + toArrayBuffer, + FFIType, + callback, +} from "bun:ffi"; + +import { bench, group, run } from "mitata"; + +var buffer = new Uint8Array(32); +var bufferPtr = ptr(buffer); +var arrayBuffer = new ArrayBuffer(32); +bench("ptr(Uint8Array)", () => { + return ptr(buffer); +}); + +bench("ptr(ArrayBuffer)", () => { + return ptr(arrayBuffer); +}); + +bench("toBuffer(ptr)", () => { + return toBuffer(bufferPtr, 32); +}); + +bench("toArrayBuffer(ptr)", () => { + return toArrayBuffer(bufferPtr, 32); +}); + +await run(); diff --git a/bench/performance-now-overhead.js b/bench/performance-now-overhead.js new file mode 100644 index 000000000..12115f203 --- /dev/null +++ b/bench/performance-now-overhead.js @@ -0,0 +1,17 @@ +import { group } from "mitata"; +import { bench, run } from "mitata"; +bench("performance.now x 1000", () => { + for (let i = 0; i < 1000; i++) { + performance.now(); + } +}); + +if ("Bun" in globalThis) { + var nanoseconds = Bun.nanoseconds; + bench("Bun.nanoseconds x 1000", () => { + for (let i = 0; i < 1000; i++) { + nanoseconds(); + } + }); +} +await run(); |