返回 CodeWhale
long-checkpoint.mjs
根目录 / pet / scripts / long-checkpoint.mjs
1 import { readFileSync, writeFileSync } from 'node:fs';
2 import { PetNative } from '../dist/core/pet-native.js';
3 import { compilePetTelemetry, encodePetJSONL } from '../dist/core/pet-telemetry.js';
4 const points = readFileSync(new URL('../public/whale-points.tsv', import.meta.url), 'utf8').trim().split('\n').map(l=>l.trim().split(/\s+/).map(Number));
5 const started = performance.now();
6 const tape = compilePetTelemetry([], 7_200_000);
7 const pet = new PetNative(JSON.stringify(points), encodePetJSONL(tape));
8 for(let i=0;i<720;i++) pet.step(10,false);
9 const text=pet.recording(true);
10 writeFileSync(process.argv[2] ?? new URL('../conformance-results/long-habitat.json', import.meta.url),text);
11 console.log(JSON.stringify({fixture:'Two hours of synthetic, entirely unknown telemetry',buckets:tape.length,bytes:Buffer.byteLength(text),ticks:JSON.parse(text).checkpoint.tick,generationMs:performance.now()-started}));
12
12 lines Plain Text