add benchmark script

This commit is contained in:
2025-03-01 16:16:44 +01:00
parent e15c1ca821
commit 464c20c334
10 changed files with 688 additions and 0 deletions

View File

@ -0,0 +1,28 @@
import fengari from 'fengari';
if (process.argv.length < 3) {
console.error('Invalid number of arguments');
process.exit(1);
}
const program = process.argv[2];
const args = process.argv.slice(3);
const lauxlib = fengari.lauxlib;
const lua = fengari.lua;
const lualib = fengari.lualib;
const L = lauxlib.luaL_newstate();
lualib.luaL_openlibs(L);
// set 'arg' (argv) value, this allows to manipulate the behavior of the scripts
lauxlib.luaL_newlibtable(L);
lua.lua_pushstring(L, 'lua');
lua.lua_rawseti(L, -2, 0);
for (let i = 0; i < args.length; i++) {
lua.lua_pushstring(L, args[i]);
lua.lua_rawseti(L, -2, i + 1);
}
lua.lua_setglobal(L, 'arg')
lauxlib.luaL_dostring(L, fengari.to_luastring(program));

62
benchmarks/fengari/package-lock.json generated Normal file
View File

@ -0,0 +1,62 @@
{
"name": "fengari",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "fengari",
"version": "1.0.0",
"dependencies": {
"fengari": "=0.1.4"
}
},
"node_modules/fengari": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/fengari/-/fengari-0.1.4.tgz",
"integrity": "sha512-6ujqUuiIYmcgkGz8MGAdERU57EIluGGPSUgGPTsco657EHa+srq0S3/YUl/r9kx1+D+d4rGfYObd+m8K22gB1g==",
"license": "MIT",
"dependencies": {
"readline-sync": "^1.4.9",
"sprintf-js": "^1.1.1",
"tmp": "^0.0.33"
}
},
"node_modules/os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/readline-sync": {
"version": "1.4.10",
"resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
"integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
"license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/sprintf-js": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
"license": "BSD-3-Clause"
},
"node_modules/tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"license": "MIT",
"dependencies": {
"os-tmpdir": "~1.0.2"
},
"engines": {
"node": ">=0.6.0"
}
}
}
}

View File

@ -0,0 +1,10 @@
{
"name": "fengari",
"version": "1.0.0",
"description": "",
"type": "module",
"dependencies": {
"fengari": "=0.1.4"
},
"private": true
}