Files
GDevelop/GDevelop.js/scripts/bench-parse.js

21 lines
739 B
JavaScript

const path = require('path');
const init = require(
path.join(__dirname, '../../Binaries/embuild/GDevelop.js/libGD.js')
);
(async () => {
const gd = await init({ print: () => {}, printErr: () => {} });
console.error('N | parse(ms) | parse+getType-on-deepest-leaf(ms)');
for (const N of [500, 1000, 2000, 4000]) {
const expr = Array.from({ length: N }, (_, i) => `"x${i}"`).join(' + ');
const parser = new gd.ExpressionParser2();
let t = process.hrtime.bigint();
const node = parser.parseExpression(expr);
const parseMs = Number(process.hrtime.bigint() - t) / 1e6;
parser.delete();
node.delete();
console.error(
` ${String(N).padStart(4)} | ${parseMs.toFixed(1).padStart(8)}`
);
}
})();