import { bench, run } from "mitata"; import { createNullSpritePlaybackAdapter, createSpritePlayer, } from "../src/index.js"; function makeSprite(n: number) { const entries = Array.from({ length: n }, (_, i) => ({ name: `clip-${i}`, offset: i * 100, byteLength: 100, durationSeconds: 0.05, sampleRate: 48000, channels: 2, format: "ogg" as const, })); return { data: new Uint8Array(n * 100), manifest: { version: 1 as const, format: "ogg" as const, sampleRate: 48000, channels: 2, totalDurationSeconds: n * 0.05, entries, contentHash: "0".repeat(64), }, }; } for (const n of [1, 10, 100]) { const sprite = makeSprite(n); const player = createSpritePlayer({ adapter: createNullSpritePlaybackAdapter(), maxConcurrentVoices: 256, }); await player.load(sprite); const names = sprite.manifest.entries.map((e) => e.name); bench(`playSequence n=${n}`, async () => { await player.playSequence(names); }); } await run();