IFR architecture scale trends

Five product architectures on one generated content SFC, scaled from ~1k to ~30k elements. Lead chart is cost space (MT gzip × FCP); FCP vs N follows. See also the Unified Benchmark Matrix for the same-host IFR × VDOM/Vapor × React story.

Linear scale — cost space + FCP vs N

Paint vs MT load cost (linear)

Linear cost space (playground-style, zero baseline). Same points as the framework bench's create×update chart: architectures that pay MT gzip without buying FCP shoot right; those that scale poorly shoot up. CPU ×4.

050k100k150k200k250k02004006008001k1.2k MT section gzip — bytes, linear FCP — ms, linear VDOM · 1k N=1004 FCP=263.7ms MT gz=7.1KBVDOM · 3k N=3004 FCP=431.1ms MT gz=7.1KBVDOM · 5k N=5004 FCP=619.7ms MT gz=7.1KBVDOM · 10k N=10004 FCP=1015.1ms MT gz=7.1KB1k3k5k10kVDOMVDOM+IFR · 1k N=1004 FCP=258.2ms MT gz=33.8KBVDOM+IFR · 3k N=3004 FCP=467.5ms MT gz=34.6KBVDOM+IFR · 5k N=5004 FCP=608.7ms MT gz=35.4KBVDOM+IFR · 10k N=10004 FCP=1165.8ms MT gz=37.1KBVDOM+IFRVDOM+IFR+ET · 1k N=1004 FCP=235.5ms MT gz=54.1KBVDOM+IFR+ET · 3k N=3004 FCP=420.2ms MT gz=94.4KBVDOM+IFR+ET · 5k N=5004 FCP=622.9ms MT gz=134.3KBVDOM+IFR+ET · 10k N=10004 FCP=913.9ms MT gz=233.9KBVDOM+IFR+ETVapor · 1k N=1004 FCP=265.5ms MT gz=7.1KBVapor · 3k N=3004 FCP=438.5ms MT gz=7.1KBVapor · 5k N=5004 FCP=634.4ms MT gz=7.1KBVapor · 10k N=10004 FCP=1076.2ms MT gz=7.1KBVaporVapor+IFR · 1k N=1004 FCP=289.6ms MT gz=43.3KBVapor+IFR · 3k N=3004 FCP=492.2ms MT gz=54.3KBVapor+IFR · 5k N=5004 FCP=708.6ms MT gz=65.4KBVapor+IFR · 10k N=10004 FCP=1192.7ms MT gz=90.5KBVapor+IFR

FCP vs content scale (linear)

Linear, zero baseline, 1k→30k — absolute FCP gaps. VDOM+IFR without ET crosses above plain VDOM and can DNF on deep MT mount. CPU ×4.

02k4k6k8k10k02004006008001k1.2k elements N — linear FCP — ms, linear VDOM · 1k N=1004 FCP=263.7ms MT gz=7.1KBVDOM · 3k N=3004 FCP=431.1ms MT gz=7.1KBVDOM · 5k N=5004 FCP=619.7ms MT gz=7.1KBVDOM · 10k N=10004 FCP=1015.1ms MT gz=7.1KB1k3k5k10kVDOMVDOM+IFR · 1k N=1004 FCP=258.2ms MT gz=33.8KBVDOM+IFR · 3k N=3004 FCP=467.5ms MT gz=34.6KBVDOM+IFR · 5k N=5004 FCP=608.7ms MT gz=35.4KBVDOM+IFR · 10k N=10004 FCP=1165.8ms MT gz=37.1KBVDOM+IFRVDOM+IFR+ET · 1k N=1004 FCP=235.5ms MT gz=54.1KBVDOM+IFR+ET · 3k N=3004 FCP=420.2ms MT gz=94.4KBVDOM+IFR+ET · 5k N=5004 FCP=622.9ms MT gz=134.3KBVDOM+IFR+ET · 10k N=10004 FCP=913.9ms MT gz=233.9KBVDOM+IFR+ETVapor · 1k N=1004 FCP=265.5ms MT gz=7.1KBVapor · 3k N=3004 FCP=438.5ms MT gz=7.1KBVapor · 5k N=5004 FCP=634.4ms MT gz=7.1KBVapor · 10k N=10004 FCP=1076.2ms MT gz=7.1KBVaporVapor+IFR · 1k N=1004 FCP=289.6ms MT gz=43.3KBVapor+IFR · 3k N=3004 FCP=492.2ms MT gz=54.3KBVapor+IFR · 5k N=5004 FCP=708.6ms MT gz=65.4KBVapor+IFR · 10k N=10004 FCP=1192.7ms MT gz=90.5KBVapor+IFR

Log-log scale

Paint vs MT load cost (log)

Log-log cost space (playground-style). Each polyline is one architecture through 1k→30k. Right = heavier main-thread bundle; up = slower FCP. CPU ×4. Lower-left dominates.

10k30k100k300k3001k MT section gzip — bytes, log FCP — ms, log VDOM · 1k N=1004 FCP=263.7ms MT gz=7.1KBVDOM · 3k N=3004 FCP=431.1ms MT gz=7.1KBVDOM · 5k N=5004 FCP=619.7ms MT gz=7.1KBVDOM · 10k N=10004 FCP=1015.1ms MT gz=7.1KB1k3k5k10kVDOMVDOM+IFR · 1k N=1004 FCP=258.2ms MT gz=33.8KBVDOM+IFR · 3k N=3004 FCP=467.5ms MT gz=34.6KBVDOM+IFR · 5k N=5004 FCP=608.7ms MT gz=35.4KBVDOM+IFR · 10k N=10004 FCP=1165.8ms MT gz=37.1KBVDOM+IFRVDOM+IFR+ET · 1k N=1004 FCP=235.5ms MT gz=54.1KBVDOM+IFR+ET · 3k N=3004 FCP=420.2ms MT gz=94.4KBVDOM+IFR+ET · 5k N=5004 FCP=622.9ms MT gz=134.3KBVDOM+IFR+ET · 10k N=10004 FCP=913.9ms MT gz=233.9KBVDOM+IFR+ETVapor · 1k N=1004 FCP=265.5ms MT gz=7.1KBVapor · 3k N=3004 FCP=438.5ms MT gz=7.1KBVapor · 5k N=5004 FCP=634.4ms MT gz=7.1KBVapor · 10k N=10004 FCP=1076.2ms MT gz=7.1KBVaporVapor+IFR · 1k N=1004 FCP=289.6ms MT gz=43.3KBVapor+IFR · 3k N=3004 FCP=492.2ms MT gz=54.3KBVapor+IFR · 5k N=5004 FCP=708.6ms MT gz=65.4KBVapor+IFR · 10k N=10004 FCP=1192.7ms MT gz=90.5KBVapor+IFR

FCP vs content scale (log)

Log-log. Same generated SFC at ~1k→30k elements. Lynx for Web, CPU ×4. α ≈ 1 → linear in N; α ≪ 1 → dominated by fixed costs.

1k3k10k3001k elements N — log FCP — ms, log VDOM · 1k N=1004 FCP=263.7ms MT gz=7.1KBVDOM · 3k N=3004 FCP=431.1ms MT gz=7.1KBVDOM · 5k N=5004 FCP=619.7ms MT gz=7.1KBVDOM · 10k N=10004 FCP=1015.1ms MT gz=7.1KB1k3k5k10kVDOMVDOM+IFR · 1k N=1004 FCP=258.2ms MT gz=33.8KBVDOM+IFR · 3k N=3004 FCP=467.5ms MT gz=34.6KBVDOM+IFR · 5k N=5004 FCP=608.7ms MT gz=35.4KBVDOM+IFR · 10k N=10004 FCP=1165.8ms MT gz=37.1KBVDOM+IFRVDOM+IFR+ET · 1k N=1004 FCP=235.5ms MT gz=54.1KBVDOM+IFR+ET · 3k N=3004 FCP=420.2ms MT gz=94.4KBVDOM+IFR+ET · 5k N=5004 FCP=622.9ms MT gz=134.3KBVDOM+IFR+ET · 10k N=10004 FCP=913.9ms MT gz=233.9KBVDOM+IFR+ETVapor · 1k N=1004 FCP=265.5ms MT gz=7.1KBVapor · 3k N=3004 FCP=438.5ms MT gz=7.1KBVapor · 5k N=5004 FCP=634.4ms MT gz=7.1KBVapor · 10k N=10004 FCP=1076.2ms MT gz=7.1KBVaporVapor+IFR · 1k N=1004 FCP=289.6ms MT gz=43.3KBVapor+IFR · 3k N=3004 FCP=492.2ms MT gz=54.3KBVapor+IFR · 5k N=5004 FCP=708.6ms MT gz=65.4KBVapor+IFR · 10k N=10004 FCP=1192.7ms MT gz=90.5KBVapor+IFR

Scaling exponents

α ≈ 0 → FCP dominated by fixed overhead (bundle parse / boot / IPC). α ≈ 1 → cost grows with content.

metric ~ NαVDOMVDOM+IFRVDOM+IFR+ETVaporVapor+IFR
FCPα=0.58α=0.64α=0.60α=0.60α=0.61
MT gzipα=0.00α=0.07α=0.73α=0.00α=0.43
web gzipα=0.08α=0.09α=0.74α=0.43α=0.44

Raw medians

architecture · scaleelementsFCP msΔ vs VDOMMT gzipweb gzip
VDOM · 1k1004263.77.1 KB35.0 KB
VDOM+IFR · 1k1004258.2-2%33.8 KB62.9 KB
VDOM+IFR+ET · 1k1004235.5-11%54.1 KB104.6 KB
Vapor · 1k1004265.5+1%7.1 KB44.5 KB
Vapor+IFR · 1k1004289.6+10%43.3 KB85.9 KB
VDOM · 3k3004431.17.1 KB35.9 KB
VDOM+IFR · 3k3004467.5+8%34.6 KB64.7 KB
VDOM+IFR+ET · 3k3004420.2-3%94.4 KB184.9 KB
Vapor · 3k3004438.5+2%7.1 KB55.8 KB
Vapor+IFR · 3k3004492.2+14%54.3 KB108.3 KB
VDOM · 5k5004619.77.1 KB36.8 KB
VDOM+IFR · 5k5004608.7-2%35.4 KB66.5 KB
VDOM+IFR+ET · 5k5004622.9+1%134.3 KB266.3 KB
Vapor · 5k5004634.4+2%7.1 KB66.6 KB
Vapor+IFR · 5k5004708.6+14%65.4 KB129.9 KB
VDOM · 10k100041015.17.1 KB39.0 KB
VDOM+IFR · 10k100041165.8+15%37.1 KB70.7 KB
VDOM+IFR+ET · 10k10004913.9-10%233.9 KB465.7 KB
Vapor · 10k100041076.2+6%7.1 KB92.5 KB
Vapor+IFR · 10k100041192.7+17%90.5 KB180.8 KB