UNPKG

@steelbreeze/pivot

Version:

Minimal TypeScript / JavaScript n-cube library

41 lines (30 loc) 717 B
import { Dimension, pivot } from '..'; interface Data { i: number; j: number; k: number; } function test(scale: number): void { const data: Array<Data> = []; const x: Dimension<Data> = []; const y: Dimension<Data> = [] // const t1 = `Create data with ${Math.pow(scale, 3)} records`; const t2 = `Create cube with ${Math.pow(scale, 3)} records`; // console.time(t1); for (let i = 0; i < scale; i++) { for (let j = 0; j < scale; j++) { for (let k = 0; k < scale; k++) { data.push({ i, j, k }); } } x.push(record => record.i === i); y.push(record => record.j === i); } // console.timeEnd(t1); console.time(t2) pivot(data, y, x); console.timeEnd(t2) } test(100); test(10); test(1);