summaryrefslogtreecommitdiff
path: root/test_ffi/tests/bench.js
diff options
context:
space:
mode:
Diffstat (limited to 'test_ffi/tests/bench.js')
-rw-r--r--test_ffi/tests/bench.js687
1 files changed, 0 insertions, 687 deletions
diff --git a/test_ffi/tests/bench.js b/test_ffi/tests/bench.js
deleted file mode 100644
index 49884d32e..000000000
--- a/test_ffi/tests/bench.js
+++ /dev/null
@@ -1,687 +0,0 @@
-// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
-// deno-lint-ignore-file
-
-const targetDir = Deno.execPath().replace(/[^\/\\]+$/, "");
-const [libPrefix, libSuffix] = {
- darwin: ["lib", "dylib"],
- linux: ["lib", "so"],
- windows: ["", "dll"],
-}[Deno.build.os];
-const libPath = `${targetDir}/${libPrefix}test_ffi.${libSuffix}`;
-
-const dylib = Deno.dlopen(libPath, {
- "nop": { parameters: [], result: "void" },
- "add_u32": { parameters: ["u32", "u32"], result: "u32" },
- "add_u64": { parameters: ["u64", "u64"], result: "u64" },
- "ffi_string": { parameters: [], result: "pointer" },
- "hash": { parameters: ["buffer", "u32"], result: "u32" },
- "nop_bool": { parameters: ["bool"], result: "void" },
- "nop_u8": { parameters: ["u8"], result: "void" },
- "nop_i8": { parameters: ["i8"], result: "void" },
- "nop_u16": { parameters: ["u16"], result: "void" },
- "nop_i16": { parameters: ["i16"], result: "void" },
- "nop_u32": { parameters: ["u32"], result: "void" },
- "nop_i32": { parameters: ["i32"], result: "void" },
- "nop_u64": { parameters: ["u64"], result: "void" },
- "nop_i64": { parameters: ["i64"], result: "void" },
- "nop_usize": { parameters: ["usize"], result: "void" },
- "nop_isize": { parameters: ["isize"], result: "void" },
- "nop_f32": { parameters: ["f32"], result: "void" },
- "nop_f64": { parameters: ["f64"], result: "void" },
- "nop_buffer": { parameters: ["buffer"], result: "void" },
- "return_bool": { parameters: [], result: "bool" },
- "return_u8": { parameters: [], result: "u8" },
- "return_i8": { parameters: [], result: "i8" },
- "return_u16": { parameters: [], result: "u16" },
- "return_i16": { parameters: [], result: "i16" },
- "return_u32": { parameters: [], result: "u32" },
- "return_i32": { parameters: [], result: "i32" },
- "return_u64": { parameters: [], result: "u64" },
- "return_i64": { parameters: [], result: "i64" },
- "return_usize": { parameters: [], result: "usize" },
- "return_isize": { parameters: [], result: "isize" },
- "return_f32": { parameters: [], result: "f32" },
- "return_f64": { parameters: [], result: "f64" },
- "return_buffer": { parameters: [], result: "buffer" },
- // Nonblocking calls
- "nop_nonblocking": { name: "nop", parameters: [], result: "void" },
- "nop_bool_nonblocking": {
- name: "nop_bool",
- parameters: ["bool"],
- result: "void",
- },
- "nop_u8_nonblocking": { name: "nop_u8", parameters: ["u8"], result: "void" },
- "nop_i8_nonblocking": { name: "nop_i8", parameters: ["i8"], result: "void" },
- "nop_u16_nonblocking": {
- name: "nop_u16",
- parameters: ["u16"],
- result: "void",
- },
- "nop_i16_nonblocking": {
- name: "nop_i16",
- parameters: ["i16"],
- result: "void",
- },
- "nop_u32_nonblocking": {
- name: "nop_u32",
- parameters: ["u32"],
- result: "void",
- },
- "nop_i32_nonblocking": {
- name: "nop_i32",
- parameters: ["i32"],
- result: "void",
- },
- "nop_u64_nonblocking": {
- name: "nop_u64",
- parameters: ["u64"],
- result: "void",
- },
- "nop_i64_nonblocking": {
- name: "nop_i64",
- parameters: ["i64"],
- result: "void",
- },
- "nop_usize_nonblocking": {
- name: "nop_usize",
- parameters: ["usize"],
- result: "void",
- },
- "nop_isize_nonblocking": {
- name: "nop_isize",
- parameters: ["isize"],
- result: "void",
- },
- "nop_f32_nonblocking": {
- name: "nop_f32",
- parameters: ["f32"],
- result: "void",
- },
- "nop_f64_nonblocking": {
- name: "nop_f64",
- parameters: ["f64"],
- result: "void",
- },
- "nop_buffer_nonblocking": {
- name: "nop_buffer",
- parameters: ["buffer"],
- result: "void",
- },
- "return_bool_nonblocking": {
- name: "return_bool",
- parameters: [],
- result: "bool",
- },
- "return_u8_nonblocking": { name: "return_u8", parameters: [], result: "u8" },
- "return_i8_nonblocking": { name: "return_i8", parameters: [], result: "i8" },
- "return_u16_nonblocking": {
- name: "return_u16",
- parameters: [],
- result: "u16",
- },
- "return_i16_nonblocking": {
- name: "return_i16",
- parameters: [],
- result: "i16",
- },
- "return_u32_nonblocking": {
- name: "return_u32",
- parameters: [],
- result: "u32",
- },
- "return_i32_nonblocking": {
- name: "return_i32",
- parameters: [],
- result: "i32",
- },
- "return_u64_nonblocking": {
- name: "return_u64",
- parameters: [],
- result: "u64",
- },
- "return_i64_nonblocking": {
- name: "return_i64",
- parameters: [],
- result: "i64",
- },
- "return_usize_nonblocking": {
- name: "return_usize",
- parameters: [],
- result: "usize",
- },
- "return_isize_nonblocking": {
- name: "return_isize",
- parameters: [],
- result: "isize",
- },
- "return_f32_nonblocking": {
- name: "return_f32",
- parameters: [],
- result: "f32",
- },
- "return_f64_nonblocking": {
- name: "return_f64",
- parameters: [],
- result: "f64",
- },
- "return_buffer_nonblocking": {
- name: "return_buffer",
- parameters: [],
- result: "buffer",
- },
- // Parameter checking
- "nop_many_parameters": {
- parameters: [
- "u8",
- "i8",
- "u16",
- "i16",
- "u32",
- "i32",
- "u64",
- "i64",
- "usize",
- "isize",
- "f32",
- "f64",
- "buffer",
- "u8",
- "i8",
- "u16",
- "i16",
- "u32",
- "i32",
- "u64",
- "i64",
- "usize",
- "isize",
- "f32",
- "f64",
- "buffer",
- ],
- result: "void",
- },
- "nop_many_parameters_nonblocking": {
- name: "nop_many_parameters",
- parameters: [
- "u8",
- "i8",
- "u16",
- "i16",
- "u32",
- "i32",
- "u64",
- "i64",
- "usize",
- "isize",
- "f32",
- "f64",
- "pointer",
- "u8",
- "i8",
- "u16",
- "i16",
- "u32",
- "i32",
- "u64",
- "i64",
- "usize",
- "isize",
- "f32",
- "f64",
- "pointer",
- ],
- result: "void",
- nonblocking: true,
- },
-});
-
-const { nop } = dylib.symbols;
-Deno.bench("nop()", () => {
- nop();
-});
-
-const bytes = new Uint8Array(64);
-
-const { hash } = dylib.symbols;
-Deno.bench("hash()", () => {
- hash(bytes, bytes.byteLength);
-});
-
-const { ffi_string } = dylib.symbols;
-Deno.bench(
- "c string",
- () => Deno.UnsafePointerView.getCString(ffi_string()),
-);
-
-const { add_u32 } = dylib.symbols;
-Deno.bench("add_u32()", () => {
- add_u32(1, 2);
-});
-
-const { return_buffer } = dylib.symbols;
-Deno.bench("return_buffer()", () => {
- return_buffer();
-});
-
-const { add_u64 } = dylib.symbols;
-Deno.bench("add_u64()", () => {
- add_u64(1, 2);
-});
-
-const { return_u64 } = dylib.symbols;
-Deno.bench("return_u64()", () => {
- return_u64();
-});
-
-const { return_i64 } = dylib.symbols;
-Deno.bench("return_i64()", () => {
- return_i64();
-});
-
-const { nop_bool } = dylib.symbols;
-Deno.bench("nop_bool()", () => {
- nop_bool(true);
-});
-
-const { nop_u8 } = dylib.symbols;
-Deno.bench("nop_u8()", () => {
- nop_u8(100);
-});
-
-const { nop_i8 } = dylib.symbols;
-Deno.bench("nop_i8()", () => {
- nop_i8(100);
-});
-
-const { nop_u16 } = dylib.symbols;
-Deno.bench("nop_u16()", () => {
- nop_u16(100);
-});
-
-const { nop_i16 } = dylib.symbols;
-Deno.bench("nop_i16()", () => {
- nop_i16(100);
-});
-
-const { nop_u32 } = dylib.symbols;
-Deno.bench("nop_u32()", () => {
- nop_u32(100);
-});
-
-const { nop_i32 } = dylib.symbols;
-Deno.bench("nop_i32()", () => {
- nop_i32(100);
-});
-
-const { nop_u64 } = dylib.symbols;
-Deno.bench("nop_u64()", () => {
- nop_u64(100);
-});
-
-const { nop_i64 } = dylib.symbols;
-Deno.bench("nop_i64()", () => {
- nop_i64(100);
-});
-
-const { nop_usize } = dylib.symbols;
-Deno.bench("nop_usize() number", () => {
- nop_usize(100);
-});
-
-Deno.bench("nop_usize() bigint", () => {
- nop_usize(100n);
-});
-
-const { nop_isize } = dylib.symbols;
-Deno.bench("nop_isize() number", () => {
- nop_isize(100);
-});
-
-Deno.bench("nop_isize() bigint", () => {
- nop_isize(100n);
-});
-
-const { nop_f32 } = dylib.symbols;
-Deno.bench("nop_f32()", () => {
- nop_f32(100.1);
-});
-
-const { nop_f64 } = dylib.symbols;
-Deno.bench("nop_f64()", () => {
- nop_f64(100.1);
-});
-
-const { nop_buffer } = dylib.symbols;
-const buffer = new Uint8Array(8).fill(5);
-Deno.bench("nop_buffer()", () => {
- nop_buffer(buffer);
-});
-
-const { return_bool } = dylib.symbols;
-Deno.bench("return_bool()", () => {
- return_bool();
-});
-
-const { return_u8 } = dylib.symbols;
-Deno.bench("return_u8()", () => {
- return_u8();
-});
-
-const { return_i8 } = dylib.symbols;
-Deno.bench("return_i8()", () => {
- return_i8();
-});
-
-const { return_u16 } = dylib.symbols;
-Deno.bench("return_u16()", () => {
- return_u16();
-});
-
-const { return_i16 } = dylib.symbols;
-Deno.bench("return_i16()", () => {
- return_i16();
-});
-
-const { return_u32 } = dylib.symbols;
-Deno.bench("return_u32()", () => {
- return_u32();
-});
-
-const { return_i32 } = dylib.symbols;
-Deno.bench("return_i32()", () => {
- return_i32();
-});
-
-const { return_usize } = dylib.symbols;
-Deno.bench("return_usize()", () => {
- return_usize();
-});
-
-const { return_isize } = dylib.symbols;
-Deno.bench("return_isize()", () => {
- return_isize();
-});
-
-const { return_f32 } = dylib.symbols;
-Deno.bench("return_f32()", () => {
- return_f32();
-});
-
-const { return_f64 } = dylib.symbols;
-Deno.bench("return_f64()", () => {
- return_f64();
-});
-
-// Nonblocking calls
-
-const { nop_nonblocking } = dylib.symbols;
-Deno.bench("nop_nonblocking()", async () => {
- await nop_nonblocking();
-});
-
-const { nop_bool_nonblocking } = dylib.symbols;
-Deno.bench("nop_bool_nonblocking()", async () => {
- await nop_bool_nonblocking(true);
-});
-
-const { nop_u8_nonblocking } = dylib.symbols;
-Deno.bench("nop_u8_nonblocking()", async () => {
- await nop_u8_nonblocking(100);
-});
-
-const { nop_i8_nonblocking } = dylib.symbols;
-Deno.bench("nop_i8_nonblocking()", async () => {
- await nop_i8_nonblocking(100);
-});
-
-const { nop_u16_nonblocking } = dylib.symbols;
-Deno.bench("nop_u16_nonblocking()", async () => {
- await nop_u16_nonblocking(100);
-});
-
-const { nop_i16_nonblocking } = dylib.symbols;
-Deno.bench("nop_i16_nonblocking()", async () => {
- await nop_i16_nonblocking(100);
-});
-
-const { nop_u32_nonblocking } = dylib.symbols;
-Deno.bench("nop_u32_nonblocking()", async () => {
- await nop_u32_nonblocking(100);
-});
-
-const { nop_i32_nonblocking } = dylib.symbols;
-
-Deno.bench("nop_i32_nonblocking()", async () => {
- await nop_i32_nonblocking(100);
-});
-
-const { nop_u64_nonblocking } = dylib.symbols;
-Deno.bench("nop_u64_nonblocking()", async () => {
- await nop_u64_nonblocking(100);
-});
-
-const { nop_i64_nonblocking } = dylib.symbols;
-Deno.bench("nop_i64_nonblocking()", async () => {
- await nop_i64_nonblocking(100);
-});
-
-const { nop_usize_nonblocking } = dylib.symbols;
-Deno.bench("nop_usize_nonblocking()", async () => {
- await nop_usize_nonblocking(100);
-});
-
-const { nop_isize_nonblocking } = dylib.symbols;
-Deno.bench("nop_isize_nonblocking()", async () => {
- await nop_isize_nonblocking(100);
-});
-
-const { nop_f32_nonblocking } = dylib.symbols;
-Deno.bench("nop_f32_nonblocking()", async () => {
- await nop_f32_nonblocking(100);
-});
-
-const { nop_f64_nonblocking } = dylib.symbols;
-Deno.bench("nop_f64_nonblocking()", async () => {
- await nop_f64_nonblocking(100);
-});
-
-const { nop_buffer_nonblocking } = dylib.symbols;
-Deno.bench("nop_buffer_nonblocking()", async () => {
- await nop_buffer_nonblocking(buffer);
-});
-
-const { return_bool_nonblocking } = dylib.symbols;
-Deno.bench("return_bool_nonblocking()", async () => {
- await return_bool_nonblocking();
-});
-
-const { return_u8_nonblocking } = dylib.symbols;
-Deno.bench("return_u8_nonblocking()", async () => {
- await return_u8_nonblocking();
-});
-
-const { return_i8_nonblocking } = dylib.symbols;
-Deno.bench("return_i8_nonblocking()", async () => {
- await return_i8_nonblocking();
-});
-
-const { return_u16_nonblocking } = dylib.symbols;
-Deno.bench("return_u16_nonblocking()", async () => {
- await return_u16_nonblocking();
-});
-
-const { return_i16_nonblocking } = dylib.symbols;
-Deno.bench("return_i16_nonblocking()", async () => {
- await return_i16_nonblocking();
-});
-
-const { return_u32_nonblocking } = dylib.symbols;
-Deno.bench("return_u32_nonblocking()", async () => {
- await return_u32_nonblocking();
-});
-
-const { return_i32_nonblocking } = dylib.symbols;
-Deno.bench("return_i32_nonblocking()", async () => {
- await return_i32_nonblocking();
-});
-
-const { return_u64_nonblocking } = dylib.symbols;
-Deno.bench("return_u64_nonblocking()", async () => {
- await return_u64_nonblocking();
-});
-
-const { return_i64_nonblocking } = dylib.symbols;
-Deno.bench("return_i64_nonblocking()", async () => {
- await return_i64_nonblocking();
-});
-
-const { return_usize_nonblocking } = dylib.symbols;
-Deno.bench("return_usize_nonblocking()", async () => {
- await return_usize_nonblocking();
-});
-
-const { return_isize_nonblocking } = dylib.symbols;
-Deno.bench("return_isize_nonblocking()", async () => {
- await return_isize_nonblocking();
-});
-
-const { return_f32_nonblocking } = dylib.symbols;
-Deno.bench("return_f32_nonblocking()", async () => {
- await return_f32_nonblocking();
-});
-
-const { return_f64_nonblocking } = dylib.symbols;
-Deno.bench("return_f64_nonblocking()", async () => {
- await return_f64_nonblocking();
-});
-
-const { return_buffer_nonblocking } = dylib.symbols;
-Deno.bench("return_buffer_nonblocking()", async () => {
- await return_buffer_nonblocking();
-});
-
-const { nop_many_parameters } = dylib.symbols;
-const buffer2 = new Uint8Array(8).fill(25);
-Deno.bench("nop_many_parameters()", () => {
- nop_many_parameters(
- 135,
- 47,
- 356,
- -236,
- 7457,
- -1356,
- 16471468n,
- -1334748136n,
- 132658769535n,
- -42745856824n,
- 13567.26437,
- 7.686234e-3,
- buffer,
- 64,
- -42,
- 83,
- -136,
- 3657,
- -2376,
- 3277918n,
- -474628146n,
- 344657895n,
- -2436732n,
- 135.26437e3,
- 264.3576468623546834,
- buffer2,
- );
-});
-
-const { nop_many_parameters_nonblocking } = dylib.symbols;
-Deno.bench("nop_many_parameters_nonblocking()", () => {
- nop_many_parameters_nonblocking(
- 135,
- 47,
- 356,
- -236,
- 7457,
- -1356,
- 16471468n,
- -1334748136n,
- 132658769535n,
- -42745856824n,
- 13567.26437,
- 7.686234e-3,
- buffer,
- 64,
- -42,
- 83,
- -136,
- 3657,
- -2376,
- 3277918n,
- -474628146n,
- 344657895n,
- -2436732n,
- 135.26437e3,
- 264.3576468623546834,
- buffer2,
- );
-});
-
-Deno.bench("Deno.UnsafePointer.of", () => {
- Deno.UnsafePointer.of(buffer);
-});
-
-const cstringBuffer = new TextEncoder().encode("Best believe it!\0");
-const cstringPointerView = new Deno.UnsafePointerView(
- Deno.UnsafePointer.of(cstringBuffer),
-);
-Deno.bench("Deno.UnsafePointerView#getCString", () => {
- cstringPointerView.getCString();
-});
-
-const bufferPointerView = new Deno.UnsafePointerView(
- Deno.UnsafePointer.of(buffer),
-);
-
-Deno.bench("Deno.UnsafePointerView#getBool", () => {
- bufferPointerView.getBool();
-});
-
-Deno.bench("Deno.UnsafePointerView#getUint8", () => {
- bufferPointerView.getUint8();
-});
-
-Deno.bench("Deno.UnsafePointerView#getInt8", () => {
- bufferPointerView.getInt8();
-});
-
-Deno.bench("Deno.UnsafePointerView#getUint16", () => {
- bufferPointerView.getUint16();
-});
-
-Deno.bench("Deno.UnsafePointerView#getInt16", () => {
- bufferPointerView.getInt16();
-});
-
-Deno.bench("Deno.UnsafePointerView#getUint32", () => {
- bufferPointerView.getUint32();
-});
-
-Deno.bench("Deno.UnsafePointerView#getInt32", () => {
- bufferPointerView.getInt32();
-});
-
-Deno.bench("Deno.UnsafePointerView#getBigUint64", () => {
- bufferPointerView.getBigUint64();
-});
-
-Deno.bench("Deno.UnsafePointerView#getBigInt64", () => {
- bufferPointerView.getBigInt64();
-});
-
-Deno.bench("Deno.UnsafePointerView#getFloat32", () => {
- bufferPointerView.getFloat32();
-});
-
-Deno.bench("Deno.UnsafePointerView#getFloat64", () => {
- bufferPointerView.getFloat64();
-});