tmux-fingers/dev/benchmark-report.js

29 lines
788 B
JavaScript

const fs = require('fs')
const path = require('path')
const { promisify } = require('util')
const chunk = require('lodash.chunk')
const readFile = promisify(fs.readFile)
const extractTimestamp = line => Number(line.match(/\d+$/)[0])
const avg = list => list.reduce((value, item) => value += item, 0) / list.length
async function main () {
const lines = (await readFile(path.resolve(__dirname, '../benchmark.log'))).toString().split('\n')
lines.pop()
const times = chunk(lines, 2).map(([start, end]) => {
return extractTimestamp(end) - extractTimestamp(start)
});
console.log(`samples:\t${times.length}`);
console.log(`avg:\t\t${avg(times)}\tms`);
console.log(`best:\t\t${Math.min(...times)}\tms`);
console.log(`worst:\t\t${Math.max(...times)}\tms`);
}
main()