import fs from 'fs-extra'; import { parse } from 'yaml'; import { Bench } from 'tinybench'; import assert from 'assert'; import { solution_1 } from './part1.js'; import { solution_2 } from './part2.js'; const input = fs.readFileSync('./input',{ encoding: 'utf8'}); const solutions = parse( fs.readFileSync('./solutions.yml',{encoding:'utf8'})); const bench = new Bench({time: 10000}); bench.add( '1', () => { assert.equal(solution_1(input),solutions[1]) }) .add( '2', () => { assert.equal(solution_2(input),solutions[2]) }); await bench.run(); bench.tasks.forEach( ({result,name}) => { console.log(JSON.stringify({ day : 1, year : 2023, language: 'javascript', part: name, timestamp: new Date().toISOString(), time: result.mean / 1000, persec: 1000 / result.mean, })); })