import { getContextItem, setContextItem, setDefaultContext, withContext, } from "../lib/context.ts"; // adjust path as needed import { testPerformance } from "./bench.ts"; /** * Benchmarks the performance of setting and getting context items. * All context transactions should run 10000 times within the 60 FPS frame time. * getContextItem should run 100000 times within the 240 FPS frame time to ensure adequate performance. */ Deno.test("Context Benchmark", () => { console.log("Context Benchmark - run within frame time"); testPerformance( () => { setDefaultContext({ a: 1 }); }, 10000, 60, ); testPerformance( () => { withContext({ a: 1 }, () => { getContextItem("a"); }); }, 10000, 60, ); testPerformance( () => { getContextItem("a"); }, 100000, 240, ); testPerformance( () => { setContextItem("a", 1); }, 10000, 60, ); });