91 lines
6.5 KiB
XML
91 lines
6.5 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 502" width="760" role="img" aria-labelledby="t d" style="max-width:100%;height:auto">
|
|
<title id="t">Time to start a trivial command</title>
|
|
<desc id="d">Horizontal bars, milliseconds, lower is better. doos: 15 to 66 ms; Podman: 216 to 233 ms; Docker: 346 to 449 ms; bubblewrap: 8 to 9 ms. Exact values are in the table in COMPARISON.md.</desc>
|
|
<style>
|
|
.bg { fill: var(--surface); }
|
|
.t1 { fill: var(--ink); font: 600 15px system-ui, -apple-system, "Segoe UI", sans-serif; }
|
|
.t2 { fill: var(--ink2); font: 400 12px system-ui, -apple-system, "Segoe UI", sans-serif; }
|
|
.lab { fill: var(--ink); font: 400 13px system-ui, -apple-system, "Segoe UI", sans-serif; }
|
|
.val { fill: var(--ink2); font: 400 12px system-ui, -apple-system, "Segoe UI", sans-serif; }
|
|
.tick { fill: var(--muted); font: 400 11px system-ui, -apple-system, "Segoe UI", sans-serif; }
|
|
.grid { stroke: var(--grid); stroke-width: 1; }
|
|
.axis { stroke: var(--axis); stroke-width: 1; }
|
|
.acc { fill: var(--accent); }
|
|
.oth { fill: var(--other); }
|
|
:root { --surface:#fcfcfb; --ink:#0b0b0b; --ink2:#52514e; --muted:#898781;
|
|
--grid:#e1e0d9; --axis:#c3c2b7; --accent:#2a78d6; --other:#898781; }
|
|
@media (prefers-color-scheme: dark) {
|
|
:root { --surface:#1a1a19; --ink:#f0efec; --ink2:#c3c2b7; --muted:#898781;
|
|
--grid:#2c2c2a; --axis:#383835; --accent:#3987e5; --other:#898781; }
|
|
}
|
|
</style>
|
|
<rect class="bg" x="0" y="0" width="760" height="502" rx="8"/>
|
|
<text class="t1" x="20" y="28">Time to start a trivial command (ms, lower is better)</text>
|
|
<text class="t2" x="20" y="46">10 runs each, average, warm cache, 2026-10-25, kernel 7.0.0-38-generic, 12 cores. Docker is a rootful daemon.</text>
|
|
<rect class="acc" x="20" y="55" width="12" height="12" rx="2"/>
|
|
<text class="t2" x="38" y="65">doos</text>
|
|
<rect class="oth" x="88" y="55" width="12" height="12" rx="2"/>
|
|
<text class="t2" x="106" y="65">other tools</text>
|
|
<text class="t1" x="22" y="78">No network</text>
|
|
<line class="grid" x1="200.0" y1="90" x2="200.0" y2="242"/>
|
|
<line class="grid" x1="294.0" y1="90" x2="294.0" y2="242"/>
|
|
<line class="grid" x1="388.0" y1="90" x2="388.0" y2="242"/>
|
|
<line class="grid" x1="482.0" y1="90" x2="482.0" y2="242"/>
|
|
<line class="grid" x1="576.0" y1="90" x2="576.0" y2="242"/>
|
|
<line class="grid" x1="670.0" y1="90" x2="670.0" y2="242"/>
|
|
<text class="lab" x="190" y="111.0" text-anchor="end">bubblewrap (host /usr)</text>
|
|
<path class="oth" d="M200.0,98.0 h4.6 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-4.6 z"><title>bubblewrap (host /usr): 9.2 ms</title></path>
|
|
<text class="val" x="216.6" y="111.0">9.2 ms</text>
|
|
<text class="lab" x="190" y="141.0" text-anchor="end">doos Alpine image</text>
|
|
<path class="acc" d="M200.0,128.0 h9.8 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-9.8 z"><title>doos Alpine image: 14.7 ms</title></path>
|
|
<text class="val" x="221.8" y="141.0">14.7 ms</text>
|
|
<text class="lab" x="190" y="171.0" text-anchor="end">doos host mode</text>
|
|
<path class="acc" d="M200.0,158.0 h11.2 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-11.2 z"><title>doos host mode: 16.2 ms</title></path>
|
|
<text class="val" x="223.2" y="171.0">16.2 ms</text>
|
|
<text class="lab" x="190" y="201.0" text-anchor="end">Podman Alpine</text>
|
|
<path class="oth" d="M200.0,188.0 h199.0 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-199.0 z"><title>Podman Alpine: 216 ms</title></path>
|
|
<text class="val" x="411.0" y="201.0">216 ms</text>
|
|
<text class="lab" x="190" y="231.0" text-anchor="end">Docker Alpine (rootful)</text>
|
|
<path class="oth" d="M200.0,218.0 h321.1 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-321.1 z"><title>Docker Alpine (rootful): 346 ms</title></path>
|
|
<text class="val" x="533.1" y="231.0">346 ms</text>
|
|
<line class="axis" x1="200" y1="90" x2="200" y2="242"/>
|
|
<text class="tick" x="200.0" y="256" text-anchor="middle">0</text>
|
|
<text class="tick" x="294.0" y="256" text-anchor="middle">100</text>
|
|
<text class="tick" x="388.0" y="256" text-anchor="middle">200</text>
|
|
<text class="tick" x="482.0" y="256" text-anchor="middle">300</text>
|
|
<text class="tick" x="576.0" y="256" text-anchor="middle">400</text>
|
|
<text class="tick" x="670.0" y="256" text-anchor="middle">500</text>
|
|
<text class="t1" x="22" y="280">Default network</text>
|
|
<line class="grid" x1="200.0" y1="292" x2="200.0" y2="474"/>
|
|
<line class="grid" x1="294.0" y1="292" x2="294.0" y2="474"/>
|
|
<line class="grid" x1="388.0" y1="292" x2="388.0" y2="474"/>
|
|
<line class="grid" x1="482.0" y1="292" x2="482.0" y2="474"/>
|
|
<line class="grid" x1="576.0" y1="292" x2="576.0" y2="474"/>
|
|
<line class="grid" x1="670.0" y1="292" x2="670.0" y2="474"/>
|
|
<text class="lab" x="190" y="313.0" text-anchor="end">bubblewrap (host /usr)</text>
|
|
<path class="oth" d="M200.0,300.0 h3.5 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-3.5 z"><title>bubblewrap (host /usr): 8 ms</title></path>
|
|
<text class="val" x="215.5" y="313.0">8 ms</text>
|
|
<text class="lab" x="190" y="343.0" text-anchor="end">doos Alpine image</text>
|
|
<path class="acc" d="M200.0,330.0 h48.8 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-48.8 z"><title>doos Alpine image: 56.2 ms</title></path>
|
|
<text class="val" x="260.8" y="343.0">56.2 ms</text>
|
|
<text class="lab" x="190" y="373.0" text-anchor="end">doos host mode</text>
|
|
<path class="acc" d="M200.0,360.0 h52.4 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-52.4 z"><title>doos host mode: 60 ms</title></path>
|
|
<text class="val" x="264.4" y="373.0">60 ms</text>
|
|
<text class="lab" x="190" y="403.0" text-anchor="end">doos Alpine, pasta</text>
|
|
<path class="acc" d="M200.0,390.0 h58.0 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-58.0 z"><title>doos Alpine, pasta: 66 ms</title></path>
|
|
<text class="val" x="270.0" y="403.0">66 ms</text>
|
|
<text class="lab" x="190" y="433.0" text-anchor="end">Podman Alpine</text>
|
|
<path class="oth" d="M200.0,420.0 h214.9 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-214.9 z"><title>Podman Alpine: 233 ms</title></path>
|
|
<text class="val" x="426.9" y="433.0">233 ms</text>
|
|
<text class="lab" x="190" y="463.0" text-anchor="end">Docker Alpine (rootful)</text>
|
|
<path class="oth" d="M200.0,450.0 h418.2 a4,4 0 0 1 4,4 v10.0 a4,4 0 0 1 -4,4 h-418.2 z"><title>Docker Alpine (rootful): 449 ms</title></path>
|
|
<text class="val" x="630.2" y="463.0">449 ms</text>
|
|
<line class="axis" x1="200" y1="292" x2="200" y2="474"/>
|
|
<text class="tick" x="200.0" y="488" text-anchor="middle">0</text>
|
|
<text class="tick" x="294.0" y="488" text-anchor="middle">100</text>
|
|
<text class="tick" x="388.0" y="488" text-anchor="middle">200</text>
|
|
<text class="tick" x="482.0" y="488" text-anchor="middle">300</text>
|
|
<text class="tick" x="576.0" y="488" text-anchor="middle">400</text>
|
|
<text class="tick" x="670.0" y="488" text-anchor="middle">500</text>
|
|
</svg>
|