Skip to content

Commit

Permalink
test: improve benchmark test
Browse files Browse the repository at this point in the history
  • Loading branch information
lpatiny committed Sep 13, 2024
1 parent 077462d commit 085d8dc
Showing 1 changed file with 33 additions and 18 deletions.
51 changes: 33 additions & 18 deletions benchmark/contour.mjs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// node --cpu-prof benchmark/contour.mjs

import { readFileSync } from 'fs';
import { join } from 'path'

Expand All @@ -10,34 +12,47 @@ const __dirname = new URL('.', import.meta.url).pathname;
const data = readFileSync(join(__dirname, '../src/__tests__/data/zhmbc_0.jdx'), 'utf8');
const parsed = convert(data, { noContour: true }).flatten[0];


for (let i = 0; i < parsed.minMax.z.length; i++) {
parsed.minMax.z[i] = Float64Array.from(parsed.minMax.z[i])
}

console.log('Size: ', parsed.minMax.z[0].length, 'x', parsed.minMax.z.length);

const conrec = new Conrec(parsed.minMax.z);

const number = 100
let levels = [];
for (let level = -1e4; level <= 1e4; level += 2e2) {
levels.push(level);
}

console.log(`We calculate ${levels.length} levels close to zero to be close to noise`);

let result;

console.time('basic');
for (let i = 0; i < number; i++) {
if (true) {
console.time('basic');

conrec.drawContour({
result = (conrec.drawContour({
contourDrawer: 'basic',
levels: [-100000, 100000],
levels,
timeout: 10000,
}));
console.log(result.contours.length)
console.timeEnd('basic');
const totalNumberContours = result.contours.reduce((acc, contour) => acc + contour.lines.length, 0);
console.log({ totalNumberContours })
} else {
console.time('shape');
result = conrec.drawContour({
contourDrawer: 'shape',
levels,
timeout: 1000000,
});
console.timeEnd('shape');
// console.log(result)
console.log(result.contours.length)
const totalNumberContours = result.contours.reduce((acc, contour) => acc + contour.lines.length, 0);
console.log({ totalNumberContours })

}
console.timeEnd('basic');

if (false) {
console.time('shape');
for (let i = 0; i < number; i++) {
conrec.drawContour({
contourDrawer: 'shape',
levels: [-100000, 100000],
timeout: 10000,
});
}
console.timeEnd('shape');
}

0 comments on commit 085d8dc

Please sign in to comment.