Complete V1 RC deployment capability gates
This commit is contained in:
@@ -48,6 +48,7 @@ for (const target of [100_000, 1_000_000]) {
|
||||
const engine = await factory({ wasmBinary });
|
||||
const source = grid(target);
|
||||
const pointers = [];
|
||||
let report;
|
||||
try {
|
||||
const positions = alloc(engine, source.positions); pointers.push(positions);
|
||||
const indices = alloc(engine, source.indices); pointers.push(indices);
|
||||
@@ -71,11 +72,15 @@ for (const target of [100_000, 1_000_000]) {
|
||||
const heapBytes = engine.HEAPU8.byteLength;
|
||||
assert.ok(elapsedMs <= limits[target], `${target} triangle gate exceeded ${limits[target]}ms: ${elapsedMs.toFixed(1)}ms`);
|
||||
assert.ok(heapBytes <= limits.heapBytes, `${target} triangle gate exceeded WASM heap limit: ${heapBytes}`);
|
||||
results.push({ target, ratio, outputTriangles, elapsedMs: Math.round(elapsedMs), heapBytes });
|
||||
report = { target, ratio, inputTriangles: source.triangleCount, outputTriangles, elapsedMs: Math.round(elapsedMs), peakHeapBytes: heapBytes };
|
||||
}
|
||||
finally {
|
||||
for (const pointer of pointers.reverse()) if (pointer) engine._free(pointer);
|
||||
}
|
||||
const recoveryPointer = engine._malloc(16);
|
||||
assert.ok(recoveryPointer > 0, `${target} triangle gate did not recover a small allocation`);
|
||||
engine._free(recoveryPointer);
|
||||
results.push({ ...report, releasedPointerCount: pointers.length, recoveryAllocation: true });
|
||||
}
|
||||
|
||||
process.stdout.write(`release-performance-ok ${JSON.stringify(results)}\n`);
|
||||
|
||||
Reference in New Issue
Block a user