75 lines
4.8 KiB
XML
75 lines
4.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="1320" viewBox="0 0 720 1320" role="img" aria-labelledby="title desc">
|
|
<title id="title">Сравнение учебных allocation units для двух вариантов одного request</title>
|
|
<desc id="desc">Две колонки сравнивают allocation-heavy и reuse для decode, validation, compute и encode. Heavy получает 12 units и пересекает условный порог 8, reuse получает 3 units. У обоих одинаковый result и 9 work units. Числа не являются байтами, временем или benchmark.</desc>
|
|
<defs>
|
|
<style>
|
|
.title { font: 700 30px system-ui, sans-serif; fill: #f8fafc; }
|
|
.subtitle { font: 400 19px system-ui, sans-serif; fill: #cbd5e1; }
|
|
.head { font: 700 24px system-ui, sans-serif; fill: #f8fafc; }
|
|
.label { font: 600 20px system-ui, sans-serif; fill: #dbeafe; }
|
|
.value { font: 700 22px ui-monospace, SFMono-Regular, Menlo, monospace; fill: #f8fafc; }
|
|
.small { font: 400 18px system-ui, sans-serif; fill: #cbd5e1; }
|
|
.good { font: 700 18px system-ui, sans-serif; fill: #86efac; }
|
|
.warn { font: 700 18px system-ui, sans-serif; fill: #fde68a; }
|
|
.danger { font: 700 18px system-ui, sans-serif; fill: #fda4af; }
|
|
</style>
|
|
</defs>
|
|
<rect width="720" height="1320" fill="#0b1220"/>
|
|
<rect x="24" y="24" width="672" height="110" rx="20" fill="#172842" stroke="#818cf8" stroke-width="3"/>
|
|
<text x="52" y="68" class="title">Allocation profile учебной модели</text>
|
|
<text x="52" y="100" class="subtitle">один result, одинаковая работа, разные заданные units</text>
|
|
|
|
<rect x="36" y="174" width="304" height="84" rx="18" fill="#4a2734" stroke="#fb7185" stroke-width="3"/>
|
|
<text x="64" y="210" class="head">allocation-heavy</text>
|
|
<text x="64" y="239" class="subtitle">только учебный вариант</text>
|
|
<rect x="380" y="174" width="304" height="84" rx="18" fill="#1f4d43" stroke="#5eead4" stroke-width="3"/>
|
|
<text x="408" y="210" class="head">reuse</text>
|
|
<text x="408" y="239" class="subtitle">тот же handler contract</text>
|
|
|
|
<text x="54" y="316" class="label">decode</text>
|
|
<rect x="54" y="338" width="140" height="44" rx="12" fill="#be425d"/>
|
|
<rect x="398" y="338" width="47" height="44" rx="12" fill="#2da98d"/>
|
|
<text x="205" y="369" class="value">3</text>
|
|
<text x="456" y="369" class="value">1</text>
|
|
|
|
<text x="54" y="448" class="label">validation</text>
|
|
<rect x="54" y="470" width="47" height="44" rx="12" fill="#be425d"/>
|
|
<rect x="398" y="470" width="2" height="44" rx="1" fill="#2da98d"/>
|
|
<text x="112" y="501" class="value">1</text>
|
|
<text x="416" y="501" class="value">0</text>
|
|
|
|
<text x="54" y="580" class="label">compute</text>
|
|
<rect x="54" y="602" width="234" height="44" rx="12" fill="#be425d"/>
|
|
<rect x="398" y="602" width="47" height="44" rx="12" fill="#2da98d"/>
|
|
<text x="299" y="633" class="value">5</text>
|
|
<text x="456" y="633" class="value">1</text>
|
|
|
|
<text x="54" y="712" class="label">encode</text>
|
|
<rect x="54" y="734" width="140" height="44" rx="12" fill="#be425d"/>
|
|
<rect x="398" y="734" width="47" height="44" rx="12" fill="#2da98d"/>
|
|
<text x="205" y="765" class="value">3</text>
|
|
<text x="456" y="765" class="value">1</text>
|
|
|
|
<line x1="54" y1="836" x2="666" y2="836" stroke="#475569" stroke-width="2"/>
|
|
<text x="54" y="882" class="head">Итог allocation units</text>
|
|
<rect x="54" y="908" width="234" height="60" rx="14" fill="#7f1d3b"/>
|
|
<text x="80" y="948" class="value">12</text>
|
|
<text x="132" y="946" class="danger">выше budget 6</text>
|
|
<rect x="398" y="908" width="234" height="60" rx="14" fill="#166b5b"/>
|
|
<text x="424" y="948" class="value">3</text>
|
|
<text x="478" y="946" class="good">внутри budget 6</text>
|
|
|
|
<rect x="54" y="1010" width="612" height="82" rx="16" fill="#3b3520" stroke="#facc15" stroke-width="3"/>
|
|
<text x="82" y="1045" class="head">Порог GC = 8 units</text>
|
|
<text x="82" y="1074" class="warn">heavy пересекает model boundary; это не измеренная pause</text>
|
|
|
|
<rect x="54" y="1130" width="612" height="112" rx="16" fill="#183550" stroke="#60a5fa" stroke-width="3"/>
|
|
<text x="82" y="1168" class="head">Общее у двух вариантов</text>
|
|
<text x="82" y="1199" class="small">work units: 9 · response status: 200 · body: total 42</text>
|
|
<text x="82" y="1227" class="small">FFI и I/O boundaries видимы, но invocation = not-performed</text>
|
|
|
|
<text x="54" y="1265" class="small">units — детерминированные счётчики fixture, не bytes / CPU</text>
|
|
<text x="54" y="1293" class="small">и не latency / benchmark</text>
|
|
</svg>
|