const timings: any = {};

export const timeStart = (name: string) => {
  if (!timings[name]) {
    timings[name] = [];
  }
  timings[name].push([Date.now()]);
}

export const timeEnd = (name: string) => {
  timings[name][timings[name].length - 1].push(Date.now());
  if (timings[name].length % 1000 === 0) {
    let sum = 0;
    let max = 0;
    for (let i = 0; i < timings[name].length; i ++) {
      const diff = timings[name][i][1] - timings[name][i][0]
      sum += diff;
      max = Math.max(max, diff);
    }
    console.log(`\n${name} average: ${sum / timings[name].length}`);
    console.log(`        max:     ${max}`);
    timings[name] = [];
  }
}
