aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bench/async-overhead.mjs7
-rw-r--r--bench/ffi/ffi-data-overhead.js33
-rw-r--r--bench/performance-now-overhead.js17
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();