import { openSync, writeSync, fsyncSync, closeSync, rmSync, mkdtempSync } from "node:fs"; import { join } from "node:path"; for (const base of process.argv.slice(2)) { const d = mkdtempSync(join(base, "dw-fsync-")); const t = []; for (let i = 0; i < 30; i++) { const s = performance.now(); const fd = openSync(join(d, `f${i}`), "w"); writeSync(fd, "x".repeat(512)); fsyncSync(fd); closeSync(fd); t.push(performance.now() - s); } rmSync(d, { recursive: true }); t.sort((a, b) => a - b); console.log(`${base}: write+fsync median ${t[15].toFixed(2)} ms, p90 ${t[27].toFixed(2)} ms`); }