mirror of
https://github.com/oven-sh/bun
synced 2026-02-11 03:18:53 +00:00
* Add a zig fmt action * add failing file * Setup prettier better * Update prettier-fmt.yml * Fail on error * Update prettier-fmt.yml * boop * boop2 * tar.gz * Update zig-fmt.yml * Update zig-fmt.yml * Update zig-fmt.yml * Update zig-fmt.yml * Update zig-fmt.yml * boop * Update prettier-fmt.yml * tag * newlines * multiline * fixup * Update zig-fmt.yml * update it * fixup * both * w * Update prettier-fmt.yml * prettier all the things * Update package.json * zig fmt * ❌ ✅ * bump * . * quotes * fix prettier ignore * once more * Update prettier-fmt.yml * Update fallback.ts * consistentcy --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
23 lines
733 B
JavaScript
23 lines
733 B
JavaScript
import { run, bench, group } from "../node_modules/mitata/src/cli.mjs";
|
|
|
|
const extension = "darwin" !== Deno.build.os ? "so" : "dylib";
|
|
const path = new URL("src/target/release/libffi_napi_bench." + extension, import.meta.url).pathname;
|
|
|
|
const {
|
|
symbols: { ffi_noop, ffi_hash, ffi_string },
|
|
} = Deno.dlopen(path, {
|
|
ffi_noop: { parameters: [], result: "void" },
|
|
ffi_string: { parameters: [], result: "pointer" },
|
|
ffi_hash: { parameters: ["buffer", "u32"], result: "u32" },
|
|
});
|
|
|
|
const bytes = new Uint8Array(64);
|
|
|
|
group("deno:ffi", () => {
|
|
bench("noop", () => ffi_noop());
|
|
bench("hash", () => ffi_hash(bytes, bytes.byteLength));
|
|
bench("c string", () => Deno.UnsafePointerView.getCString(ffi_string()));
|
|
});
|
|
|
|
await run();
|