import { type CSSProperties, useMemo, useState } from "react"; export default function CacheBudgetDemo() { const [layers, setLayers] = useState(24); const [prefix, setPrefix] = useState(256); const [tokenCost, setTokenCost] = useState(2.4); const totalMb = useMemo(() => { return (layers * prefix * tokenCost) / 1024; }, [layers, prefix, tokenCost]); return (
inline demo

Tiny proxy for why cache-budget papers exist at all. Push layer count, kept prefix length, or per-token memory cost, and the memory bill climbs fast.

estimated cache memory {totalMb.toFixed(1)} MB
); } const styles: Record = { card: { border: "1px solid rgba(231,237,244,0.14)", background: "rgba(11,14,18,0.92)", padding: "18px", margin: "24px 0", }, label: { color: "#9aa6b2", fontSize: "12px", textTransform: "uppercase", }, copy: { color: "#9aa6b2", lineHeight: 1.8, }, grid: { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(180px, 1fr))", gap: "12px", marginTop: "12px", }, control: { display: "grid", gap: "8px", border: "1px solid rgba(231,237,244,0.14)", padding: "12px", background: "rgba(8,10,12,0.92)", color: "#e7edf4", }, result: { display: "grid", gap: "6px", marginTop: "14px", padding: "12px", border: "1px solid rgba(231,237,244,0.14)", background: "rgba(8,10,12,0.92)", color: "#e7edf4", }, };