diff options
| author | 2023-04-22 19:52:26 +0800 | |
|---|---|---|
| committer | 2023-04-22 19:52:26 +0800 | |
| commit | 4838df315931bb883f704ec3e1abe2685f296cdf (patch) | |
| tree | 57a8550c4cd5338f1126364bb518c6cde8d96e7d /docs/public/images/blog | |
| parent | db74ade0234a40c2120ad5f2a41bee50ce13de02 (diff) | |
| download | HydroRoll-4838df315931bb883f704ec3e1abe2685f296cdf.tar.gz HydroRoll-4838df315931bb883f704ec3e1abe2685f296cdf.zip | |
😀
Diffstat (limited to 'docs/public/images/blog')
26 files changed, 952 insertions, 0 deletions
diff --git a/docs/public/images/blog/joining-vercel/twitter-card.png b/docs/public/images/blog/joining-vercel/twitter-card.png Binary files differnew file mode 100644 index 0000000..b508a0b --- /dev/null +++ b/docs/public/images/blog/joining-vercel/twitter-card.png diff --git a/docs/public/images/blog/saml-sso-now-available/twitter-card.png b/docs/public/images/blog/saml-sso-now-available/twitter-card.png Binary files differnew file mode 100644 index 0000000..4056896 --- /dev/null +++ b/docs/public/images/blog/saml-sso-now-available/twitter-card.png diff --git a/docs/public/images/blog/turbo-0-4-0/turbo-vs-lerna-execution.png b/docs/public/images/blog/turbo-0-4-0/turbo-vs-lerna-execution.png Binary files differnew file mode 100644 index 0000000..b4bf572 --- /dev/null +++ b/docs/public/images/blog/turbo-0-4-0/turbo-vs-lerna-execution.png diff --git a/docs/public/images/blog/turbo-0-4-0/twitter-card.png b/docs/public/images/blog/turbo-0-4-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..b508a0b --- /dev/null +++ b/docs/public/images/blog/turbo-0-4-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-1-0/turborepo-weekly-npm-downloads.png b/docs/public/images/blog/turbo-1-1-0/turborepo-weekly-npm-downloads.png Binary files differnew file mode 100644 index 0000000..d4337eb --- /dev/null +++ b/docs/public/images/blog/turbo-1-1-0/turborepo-weekly-npm-downloads.png diff --git a/docs/public/images/blog/turbo-1-1-0/twitter-card.png b/docs/public/images/blog/turbo-1-1-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..fe158d8 --- /dev/null +++ b/docs/public/images/blog/turbo-1-1-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-2-0/turbo-dry-run.png b/docs/public/images/blog/turbo-1-2-0/turbo-dry-run.png Binary files differnew file mode 100644 index 0000000..609e3d1 --- /dev/null +++ b/docs/public/images/blog/turbo-1-2-0/turbo-dry-run.png diff --git a/docs/public/images/blog/turbo-1-2-0/twitter-card.png b/docs/public/images/blog/turbo-1-2-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..b75a07f --- /dev/null +++ b/docs/public/images/blog/turbo-1-2-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-3-0/twitter-card.png b/docs/public/images/blog/turbo-1-3-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..6483924 --- /dev/null +++ b/docs/public/images/blog/turbo-1-3-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-4-0/twitter-card.png b/docs/public/images/blog/turbo-1-4-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..40a021e --- /dev/null +++ b/docs/public/images/blog/turbo-1-4-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-5-0/twitter-card.png b/docs/public/images/blog/turbo-1-5-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..9b88a42 --- /dev/null +++ b/docs/public/images/blog/turbo-1-5-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-6-0/twitter-card.png b/docs/public/images/blog/turbo-1-6-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..9341976 --- /dev/null +++ b/docs/public/images/blog/turbo-1-6-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-7-0/turbo-inference.png b/docs/public/images/blog/turbo-1-7-0/turbo-inference.png Binary files differnew file mode 100644 index 0000000..0550736 --- /dev/null +++ b/docs/public/images/blog/turbo-1-7-0/turbo-inference.png diff --git a/docs/public/images/blog/turbo-1-7-0/twitter-card.png b/docs/public/images/blog/turbo-1-7-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..c0f6e7a --- /dev/null +++ b/docs/public/images/blog/turbo-1-7-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-8-0/twitter-card.png b/docs/public/images/blog/turbo-1-8-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..e4071b3 --- /dev/null +++ b/docs/public/images/blog/turbo-1-8-0/twitter-card.png diff --git a/docs/public/images/blog/turbo-1-9-0/twitter-card.png b/docs/public/images/blog/turbo-1-9-0/twitter-card.png Binary files differnew file mode 100644 index 0000000..12e1752 --- /dev/null +++ b/docs/public/images/blog/turbo-1-9-0/twitter-card.png diff --git a/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_dark.svg b/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_dark.svg new file mode 100644 index 0000000..7a6cc04 --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_dark.svg @@ -0,0 +1,202 @@ +<svg width="960" height="720" viewBox="0 0 960 720" xmlns="http://www.w3.org/2000/svg"> +<polyline fill="none" opacity="1" stroke="#2196F3" stroke-width="4" points="110,617 222,578 364,488 929,59 "/> +<polyline fill="none" opacity="1" stroke="#00BCD4" stroke-width="4" points="110,621 222,600 364,560 929,245 "/> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="110,623 222,623 364,623 929,621 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="110,628 222,628 364,628 929,628 "/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="623" x2="929" y2="623"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="617" x2="929" y2="617"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="611" x2="929" y2="611"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="605" x2="929" y2="605"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="599" x2="929" y2="599"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="593" x2="929" y2="593"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="587" x2="929" y2="587"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="581" x2="929" y2="581"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="575" x2="929" y2="575"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="569" x2="929" y2="569"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="563" x2="929" y2="563"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="557" x2="929" y2="557"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="551" x2="929" y2="551"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="545" x2="929" y2="545"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="539" x2="929" y2="539"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="533" x2="929" y2="533"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="527" x2="929" y2="527"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="521" x2="929" y2="521"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="515" x2="929" y2="515"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="509" x2="929" y2="509"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="503" x2="929" y2="503"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="497" x2="929" y2="497"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="491" x2="929" y2="491"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="485" x2="929" y2="485"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="479" x2="929" y2="479"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="473" x2="929" y2="473"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="467" x2="929" y2="467"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="461" x2="929" y2="461"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="455" x2="929" y2="455"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="449" x2="929" y2="449"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="443" x2="929" y2="443"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="437" x2="929" y2="437"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="431" x2="929" y2="431"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="425" x2="929" y2="425"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="419" x2="929" y2="419"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="413" x2="929" y2="413"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="407" x2="929" y2="407"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="401" x2="929" y2="401"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="395" x2="929" y2="395"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="389" x2="929" y2="389"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="383" x2="929" y2="383"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="377" x2="929" y2="377"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="371" x2="929" y2="371"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="365" x2="929" y2="365"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="359" x2="929" y2="359"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="353" x2="929" y2="353"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="347" x2="929" y2="347"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="341" x2="929" y2="341"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="335" x2="929" y2="335"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="329" x2="929" y2="329"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="323" x2="929" y2="323"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="317" x2="929" y2="317"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="311" x2="929" y2="311"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="305" x2="929" y2="305"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="299" x2="929" y2="299"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="293" x2="929" y2="293"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="287" x2="929" y2="287"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="281" x2="929" y2="281"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="275" x2="929" y2="275"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="269" x2="929" y2="269"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="263" x2="929" y2="263"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="257" x2="929" y2="257"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="251" x2="929" y2="251"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="245" x2="929" y2="245"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="239" x2="929" y2="239"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="233" x2="929" y2="233"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="227" x2="929" y2="227"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="221" x2="929" y2="221"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="215" x2="929" y2="215"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="209" x2="929" y2="209"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="203" x2="929" y2="203"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="197" x2="929" y2="197"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="191" x2="929" y2="191"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="185" x2="929" y2="185"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="179" x2="929" y2="179"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="173" x2="929" y2="173"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="167" x2="929" y2="167"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="161" x2="929" y2="161"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="155" x2="929" y2="155"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="149" x2="929" y2="149"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="143" x2="929" y2="143"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="137" x2="929" y2="137"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="131" x2="929" y2="131"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="125" x2="929" y2="125"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="119" x2="929" y2="119"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="113" x2="929" y2="113"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="107" x2="929" y2="107"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="101" x2="929" y2="101"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="95" x2="929" y2="95"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="89" x2="929" y2="89"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="83" x2="929" y2="83"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="77" x2="929" y2="77"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="71" x2="929" y2="71"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="65" x2="929" y2="65"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="59" x2="929" y2="59"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="53" x2="929" y2="53"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="47" x2="929" y2="47"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="41" x2="929" y2="41"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="35" x2="929" y2="35"/> +<text x="30" y="330" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#FFFFFF" transform="rotate(270, 30, 330)"> +Mean time — lower is better +</text> +<text x="520" y="690" dy="-0.5ex" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#FFFFFF"> +Number of modules +</text> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="364" y1="629" x2="364" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="929" y1="629" x2="929" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="110" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="222" y1="629" x2="222" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="569" x2="929" y2="569"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="509" x2="929" y2="509"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="449" x2="929" y2="449"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="389" x2="929" y2="389"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="329" x2="929" y2="329"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="269" x2="929" y2="269"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="209" x2="929" y2="209"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="149" x2="929" y2="149"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="89" x2="929" y2="89"/> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="109,30 109,629 "/> +<text x="100" y="629" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +0s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,629 109,629 "/> +<text x="100" y="569" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +1s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,569 109,569 "/> +<text x="100" y="509" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +2s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,509 109,509 "/> +<text x="100" y="449" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +3s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,449 109,449 "/> +<text x="100" y="389" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +4s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,389 109,389 "/> +<text x="100" y="329" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +5s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,329 109,329 "/> +<text x="100" y="269" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +6s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,269 109,269 "/> +<text x="100" y="209" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +7s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,209 109,209 "/> +<text x="100" y="149" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +8s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,149 109,149 "/> +<text x="100" y="89" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +9s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,89 109,89 "/> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="110,630 929,630 "/> +<text x="364" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +10,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="364,630 364,635 "/> +<text x="929" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +30,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="929,630 929,635 "/> +<text x="110" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +1,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="110,630 110,635 "/> +<text x="222" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +5,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="222,630 222,635 "/> +<rect x="115" y="35" width="175" height="123" opacity="1" fill="#222222" stroke="none"/> +<rect x="115" y="35" width="175" height="123" opacity="0.2" fill="none" stroke="#FFFFFF"/> +<text x="161" y="51" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Next.js 11 SSR +</text> +<text x="161" y="76" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Next.js 12 SSR +</text> +<text x="161" y="101" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Vite SWC CSR +</text> +<text x="161" y="126" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Turbopack SSR +</text> +<polyline fill="none" opacity="1" stroke="#2196F3" stroke-width="4" points="131,59 151,59 "/> +<polyline fill="none" opacity="1" stroke="#00BCD4" stroke-width="4" points="131,84 151,84 "/> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="131,109 151,109 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="131,134 151,134 "/> +</svg> diff --git a/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_light.svg b/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_light.svg new file mode 100644 index 0000000..c0d4ec7 --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_light.svg @@ -0,0 +1,202 @@ +<svg width="960" height="720" viewBox="0 0 960 720" xmlns="http://www.w3.org/2000/svg"> +<polyline fill="none" opacity="1" stroke="#2196F3" stroke-width="4" points="110,617 222,578 364,488 929,59 "/> +<polyline fill="none" opacity="1" stroke="#00BCD4" stroke-width="4" points="110,621 222,600 364,560 929,245 "/> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="110,623 222,623 364,623 929,621 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="110,628 222,628 364,628 929,628 "/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="623" x2="929" y2="623"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="617" x2="929" y2="617"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="611" x2="929" y2="611"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="605" x2="929" y2="605"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="599" x2="929" y2="599"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="593" x2="929" y2="593"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="587" x2="929" y2="587"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="581" x2="929" y2="581"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="575" x2="929" y2="575"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="569" x2="929" y2="569"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="563" x2="929" y2="563"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="557" x2="929" y2="557"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="551" x2="929" y2="551"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="545" x2="929" y2="545"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="539" x2="929" y2="539"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="533" x2="929" y2="533"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="527" x2="929" y2="527"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="521" x2="929" y2="521"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="515" x2="929" y2="515"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="509" x2="929" y2="509"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="503" x2="929" y2="503"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="497" x2="929" y2="497"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="491" x2="929" y2="491"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="485" x2="929" y2="485"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="479" x2="929" y2="479"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="473" x2="929" y2="473"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="467" x2="929" y2="467"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="461" x2="929" y2="461"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="455" x2="929" y2="455"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="449" x2="929" y2="449"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="443" x2="929" y2="443"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="437" x2="929" y2="437"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="431" x2="929" y2="431"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="425" x2="929" y2="425"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="419" x2="929" y2="419"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="413" x2="929" y2="413"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="407" x2="929" y2="407"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="401" x2="929" y2="401"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="395" x2="929" y2="395"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="389" x2="929" y2="389"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="383" x2="929" y2="383"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="377" x2="929" y2="377"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="371" x2="929" y2="371"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="365" x2="929" y2="365"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="359" x2="929" y2="359"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="353" x2="929" y2="353"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="347" x2="929" y2="347"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="341" x2="929" y2="341"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="335" x2="929" y2="335"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="329" x2="929" y2="329"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="323" x2="929" y2="323"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="317" x2="929" y2="317"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="311" x2="929" y2="311"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="305" x2="929" y2="305"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="299" x2="929" y2="299"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="293" x2="929" y2="293"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="287" x2="929" y2="287"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="281" x2="929" y2="281"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="275" x2="929" y2="275"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="269" x2="929" y2="269"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="263" x2="929" y2="263"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="257" x2="929" y2="257"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="251" x2="929" y2="251"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="245" x2="929" y2="245"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="239" x2="929" y2="239"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="233" x2="929" y2="233"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="227" x2="929" y2="227"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="221" x2="929" y2="221"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="215" x2="929" y2="215"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="209" x2="929" y2="209"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="203" x2="929" y2="203"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="197" x2="929" y2="197"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="191" x2="929" y2="191"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="185" x2="929" y2="185"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="179" x2="929" y2="179"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="173" x2="929" y2="173"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="167" x2="929" y2="167"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="161" x2="929" y2="161"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="155" x2="929" y2="155"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="149" x2="929" y2="149"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="143" x2="929" y2="143"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="137" x2="929" y2="137"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="131" x2="929" y2="131"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="125" x2="929" y2="125"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="119" x2="929" y2="119"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="113" x2="929" y2="113"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="107" x2="929" y2="107"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="101" x2="929" y2="101"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="95" x2="929" y2="95"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="89" x2="929" y2="89"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="83" x2="929" y2="83"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="77" x2="929" y2="77"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="71" x2="929" y2="71"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="65" x2="929" y2="65"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="59" x2="929" y2="59"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="53" x2="929" y2="53"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="47" x2="929" y2="47"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="41" x2="929" y2="41"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="35" x2="929" y2="35"/> +<text x="30" y="330" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#000000" transform="rotate(270, 30, 330)"> +Mean time — lower is better +</text> +<text x="520" y="690" dy="-0.5ex" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#000000"> +Number of modules +</text> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="222" y1="629" x2="222" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="929" y1="629" x2="929" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="364" y1="629" x2="364" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="110" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="569" x2="929" y2="569"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="509" x2="929" y2="509"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="449" x2="929" y2="449"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="389" x2="929" y2="389"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="329" x2="929" y2="329"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="269" x2="929" y2="269"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="209" x2="929" y2="209"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="149" x2="929" y2="149"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="89" x2="929" y2="89"/> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="109,30 109,629 "/> +<text x="100" y="629" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +0s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,629 109,629 "/> +<text x="100" y="569" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +1s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,569 109,569 "/> +<text x="100" y="509" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +2s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,509 109,509 "/> +<text x="100" y="449" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +3s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,449 109,449 "/> +<text x="100" y="389" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +4s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,389 109,389 "/> +<text x="100" y="329" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +5s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,329 109,329 "/> +<text x="100" y="269" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +6s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,269 109,269 "/> +<text x="100" y="209" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +7s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,209 109,209 "/> +<text x="100" y="149" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +8s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,149 109,149 "/> +<text x="100" y="89" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +9s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,89 109,89 "/> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="110,630 929,630 "/> +<text x="222" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +5,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="222,630 222,635 "/> +<text x="929" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +30,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="929,630 929,635 "/> +<text x="364" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +10,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="364,630 364,635 "/> +<text x="110" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +1,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="110,630 110,635 "/> +<rect x="115" y="35" width="175" height="123" opacity="1" fill="#FFFFFF" stroke="none"/> +<rect x="115" y="35" width="175" height="123" opacity="0.2" fill="none" stroke="#000000"/> +<text x="161" y="51" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Next.js 11 SSR +</text> +<text x="161" y="76" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Next.js 12 SSR +</text> +<text x="161" y="101" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Vite SWC CSR +</text> +<text x="161" y="126" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Turbopack SSR +</text> +<polyline fill="none" opacity="1" stroke="#2196F3" stroke-width="4" points="131,59 151,59 "/> +<polyline fill="none" opacity="1" stroke="#00BCD4" stroke-width="4" points="131,84 151,84 "/> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="131,109 151,109 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="131,134 151,134 "/> +</svg> diff --git a/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_turbopack_vite_dark.svg b/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_turbopack_vite_dark.svg new file mode 100644 index 0000000..d033bc4 --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_turbopack_vite_dark.svg @@ -0,0 +1,147 @@ +<svg width="960" height="720" viewBox="0 0 960 720" xmlns="http://www.w3.org/2000/svg"> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="110,181 222,160 364,146 929,59 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="110,549 222,528 364,531 929,533 "/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="621" x2="929" y2="621"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="612" x2="929" y2="612"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="604" x2="929" y2="604"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="595" x2="929" y2="595"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="587" x2="929" y2="587"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="578" x2="929" y2="578"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="570" x2="929" y2="570"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="561" x2="929" y2="561"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="552" x2="929" y2="552"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="544" x2="929" y2="544"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="535" x2="929" y2="535"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="527" x2="929" y2="527"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="518" x2="929" y2="518"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="510" x2="929" y2="510"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="501" x2="929" y2="501"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="493" x2="929" y2="493"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="484" x2="929" y2="484"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="475" x2="929" y2="475"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="467" x2="929" y2="467"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="458" x2="929" y2="458"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="450" x2="929" y2="450"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="441" x2="929" y2="441"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="433" x2="929" y2="433"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="424" x2="929" y2="424"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="415" x2="929" y2="415"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="407" x2="929" y2="407"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="398" x2="929" y2="398"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="390" x2="929" y2="390"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="381" x2="929" y2="381"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="373" x2="929" y2="373"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="364" x2="929" y2="364"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="356" x2="929" y2="356"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="347" x2="929" y2="347"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="338" x2="929" y2="338"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="330" x2="929" y2="330"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="321" x2="929" y2="321"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="313" x2="929" y2="313"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="304" x2="929" y2="304"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="296" x2="929" y2="296"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="287" x2="929" y2="287"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="279" x2="929" y2="279"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="270" x2="929" y2="270"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="261" x2="929" y2="261"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="253" x2="929" y2="253"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="244" x2="929" y2="244"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="236" x2="929" y2="236"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="227" x2="929" y2="227"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="219" x2="929" y2="219"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="210" x2="929" y2="210"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="201" x2="929" y2="201"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="193" x2="929" y2="193"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="184" x2="929" y2="184"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="176" x2="929" y2="176"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="167" x2="929" y2="167"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="159" x2="929" y2="159"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="150" x2="929" y2="150"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="142" x2="929" y2="142"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="133" x2="929" y2="133"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="124" x2="929" y2="124"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="116" x2="929" y2="116"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="107" x2="929" y2="107"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="99" x2="929" y2="99"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="90" x2="929" y2="90"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="82" x2="929" y2="82"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="73" x2="929" y2="73"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="65" x2="929" y2="65"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="56" x2="929" y2="56"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="47" x2="929" y2="47"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="39" x2="929" y2="39"/> +<text x="30" y="330" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#FFFFFF" transform="rotate(270, 30, 330)"> +Mean time — lower is better +</text> +<text x="520" y="690" dy="-0.5ex" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#FFFFFF"> +Number of modules +</text> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="929" y1="629" x2="929" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="364" y1="629" x2="364" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="222" y1="629" x2="222" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="110" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="544" x2="929" y2="544"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="458" x2="929" y2="458"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="373" x2="929" y2="373"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="287" x2="929" y2="287"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="201" x2="929" y2="201"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="116" x2="929" y2="116"/> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="109,30 109,629 "/> +<text x="100" y="629" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +0ms +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,629 109,629 "/> +<text x="100" y="544" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +20ms +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,544 109,544 "/> +<text x="100" y="458" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +40ms +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,458 109,458 "/> +<text x="100" y="373" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +60ms +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,373 109,373 "/> +<text x="100" y="287" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +80ms +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,287 109,287 "/> +<text x="100" y="201" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +100ms +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,201 109,201 "/> +<text x="100" y="116" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +120ms +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,116 109,116 "/> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="110,630 929,630 "/> +<text x="929" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +30,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="929,630 929,635 "/> +<text x="364" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +10,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="364,630 364,635 "/> +<text x="222" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +5,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="222,630 222,635 "/> +<text x="110" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +1,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="110,630 110,635 "/> +<rect x="115" y="35" width="175" height="73" opacity="1" fill="#222222" stroke="none"/> +<rect x="115" y="35" width="175" height="73" opacity="0.2" fill="none" stroke="#FFFFFF"/> +<text x="161" y="51" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Vite SWC CSR +</text> +<text x="161" y="76" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Turbopack SSR +</text> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="131,59 151,59 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="131,84 151,84 "/> +</svg> diff --git a/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_turbopack_vite_light.svg b/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_turbopack_vite_light.svg new file mode 100644 index 0000000..c61665d --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/bench_hmr_to_commit_turbopack_vite_light.svg @@ -0,0 +1,147 @@ +<svg width="960" height="720" viewBox="0 0 960 720" xmlns="http://www.w3.org/2000/svg"> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="110,181 222,160 364,146 929,59 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="110,549 222,528 364,531 929,533 "/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="621" x2="929" y2="621"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="612" x2="929" y2="612"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="604" x2="929" y2="604"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="595" x2="929" y2="595"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="587" x2="929" y2="587"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="578" x2="929" y2="578"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="570" x2="929" y2="570"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="561" x2="929" y2="561"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="552" x2="929" y2="552"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="544" x2="929" y2="544"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="535" x2="929" y2="535"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="527" x2="929" y2="527"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="518" x2="929" y2="518"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="510" x2="929" y2="510"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="501" x2="929" y2="501"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="493" x2="929" y2="493"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="484" x2="929" y2="484"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="475" x2="929" y2="475"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="467" x2="929" y2="467"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="458" x2="929" y2="458"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="450" x2="929" y2="450"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="441" x2="929" y2="441"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="433" x2="929" y2="433"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="424" x2="929" y2="424"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="415" x2="929" y2="415"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="407" x2="929" y2="407"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="398" x2="929" y2="398"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="390" x2="929" y2="390"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="381" x2="929" y2="381"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="373" x2="929" y2="373"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="364" x2="929" y2="364"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="356" x2="929" y2="356"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="347" x2="929" y2="347"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="338" x2="929" y2="338"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="330" x2="929" y2="330"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="321" x2="929" y2="321"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="313" x2="929" y2="313"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="304" x2="929" y2="304"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="296" x2="929" y2="296"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="287" x2="929" y2="287"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="279" x2="929" y2="279"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="270" x2="929" y2="270"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="261" x2="929" y2="261"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="253" x2="929" y2="253"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="244" x2="929" y2="244"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="236" x2="929" y2="236"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="227" x2="929" y2="227"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="219" x2="929" y2="219"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="210" x2="929" y2="210"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="201" x2="929" y2="201"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="193" x2="929" y2="193"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="184" x2="929" y2="184"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="176" x2="929" y2="176"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="167" x2="929" y2="167"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="159" x2="929" y2="159"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="150" x2="929" y2="150"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="142" x2="929" y2="142"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="133" x2="929" y2="133"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="124" x2="929" y2="124"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="116" x2="929" y2="116"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="107" x2="929" y2="107"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="99" x2="929" y2="99"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="90" x2="929" y2="90"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="82" x2="929" y2="82"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="73" x2="929" y2="73"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="65" x2="929" y2="65"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="56" x2="929" y2="56"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="47" x2="929" y2="47"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="39" x2="929" y2="39"/> +<text x="30" y="330" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#000000" transform="rotate(270, 30, 330)"> +Mean time — lower is better +</text> +<text x="520" y="690" dy="-0.5ex" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#000000"> +Number of modules +</text> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="929" y1="629" x2="929" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="222" y1="629" x2="222" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="364" y1="629" x2="364" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="110" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="544" x2="929" y2="544"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="458" x2="929" y2="458"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="373" x2="929" y2="373"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="287" x2="929" y2="287"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="201" x2="929" y2="201"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="116" x2="929" y2="116"/> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="109,30 109,629 "/> +<text x="100" y="629" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +0ms +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,629 109,629 "/> +<text x="100" y="544" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +20ms +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,544 109,544 "/> +<text x="100" y="458" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +40ms +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,458 109,458 "/> +<text x="100" y="373" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +60ms +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,373 109,373 "/> +<text x="100" y="287" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +80ms +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,287 109,287 "/> +<text x="100" y="201" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +100ms +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,201 109,201 "/> +<text x="100" y="116" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +120ms +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,116 109,116 "/> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="110,630 929,630 "/> +<text x="929" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +30,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="929,630 929,635 "/> +<text x="222" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +5,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="222,630 222,635 "/> +<text x="364" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +10,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="364,630 364,635 "/> +<text x="110" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +1,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="110,630 110,635 "/> +<rect x="115" y="35" width="175" height="73" opacity="1" fill="#FFFFFF" stroke="none"/> +<rect x="115" y="35" width="175" height="73" opacity="0.2" fill="none" stroke="#000000"/> +<text x="161" y="51" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Vite SWC CSR +</text> +<text x="161" y="76" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Turbopack SSR +</text> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="131,59 151,59 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="131,84 151,84 "/> +</svg> diff --git a/docs/public/images/blog/turbopack-benchmarks/bench_startup_dark.svg b/docs/public/images/blog/turbopack-benchmarks/bench_startup_dark.svg new file mode 100644 index 0000000..886d46e --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/bench_startup_dark.svg @@ -0,0 +1,127 @@ +<svg width="960" height="720" viewBox="0 0 960 720" xmlns="http://www.w3.org/2000/svg"> +<polyline fill="none" opacity="1" stroke="#2196F3" stroke-width="4" points="110,607 222,551 364,457 929,59 "/> +<polyline fill="none" opacity="1" stroke="#00BCD4" stroke-width="4" points="110,621 222,600 364,574 929,416 "/> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="110,619 222,590 364,552 929,395 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="110,626 222,620 364,612 929,577 "/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="617" x2="929" y2="617"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="605" x2="929" y2="605"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="593" x2="929" y2="593"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="581" x2="929" y2="581"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="569" x2="929" y2="569"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="557" x2="929" y2="557"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="545" x2="929" y2="545"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="533" x2="929" y2="533"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="521" x2="929" y2="521"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="509" x2="929" y2="509"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="497" x2="929" y2="497"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="485" x2="929" y2="485"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="473" x2="929" y2="473"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="461" x2="929" y2="461"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="449" x2="929" y2="449"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="437" x2="929" y2="437"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="425" x2="929" y2="425"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="413" x2="929" y2="413"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="401" x2="929" y2="401"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="389" x2="929" y2="389"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="377" x2="929" y2="377"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="365" x2="929" y2="365"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="353" x2="929" y2="353"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="341" x2="929" y2="341"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="329" x2="929" y2="329"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="317" x2="929" y2="317"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="305" x2="929" y2="305"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="293" x2="929" y2="293"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="281" x2="929" y2="281"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="269" x2="929" y2="269"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="257" x2="929" y2="257"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="245" x2="929" y2="245"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="233" x2="929" y2="233"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="221" x2="929" y2="221"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="209" x2="929" y2="209"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="197" x2="929" y2="197"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="185" x2="929" y2="185"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="173" x2="929" y2="173"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="161" x2="929" y2="161"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="149" x2="929" y2="149"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="137" x2="929" y2="137"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="125" x2="929" y2="125"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="113" x2="929" y2="113"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="101" x2="929" y2="101"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="89" x2="929" y2="89"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="77" x2="929" y2="77"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="65" x2="929" y2="65"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="53" x2="929" y2="53"/> +<line opacity="0.1" stroke="#FFFFFF" stroke-width="1" x1="110" y1="41" x2="929" y2="41"/> +<text x="30" y="330" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#FFFFFF" transform="rotate(270, 30, 330)"> +Mean time — lower is better +</text> +<text x="520" y="690" dy="-0.5ex" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#FFFFFF"> +Number of modules +</text> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="929" y1="629" x2="929" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="364" y1="629" x2="364" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="222" y1="629" x2="222" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="110" y2="30"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="509" x2="929" y2="509"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="389" x2="929" y2="389"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="269" x2="929" y2="269"/> +<line opacity="0.2" stroke="#FFFFFF" stroke-width="1" x1="110" y1="149" x2="929" y2="149"/> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="109,30 109,629 "/> +<text x="100" y="629" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +0s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,629 109,629 "/> +<text x="100" y="509" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +50s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,509 109,509 "/> +<text x="100" y="389" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +100s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,389 109,389 "/> +<text x="100" y="269" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +150s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,269 109,269 "/> +<text x="100" y="149" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +200s +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="104,149 109,149 "/> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="110,630 929,630 "/> +<text x="929" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +30,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="929,630 929,635 "/> +<text x="364" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +10,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="364,630 364,635 "/> +<text x="222" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +5,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="222,630 222,635 "/> +<text x="110" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#FFFFFF"> +1,000 +</text> +<polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" points="110,630 110,635 "/> +<rect x="115" y="35" width="175" height="123" opacity="1" fill="#222222" stroke="none"/> +<rect x="115" y="35" width="175" height="123" opacity="0.2" fill="none" stroke="#FFFFFF"/> +<text x="161" y="51" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Next.js 11 SSR +</text> +<text x="161" y="76" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Next.js 12 SSR +</text> +<text x="161" y="101" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Vite SWC CSR +</text> +<text x="161" y="126" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#FFFFFF"> +Turbopack SSR +</text> +<polyline fill="none" opacity="1" stroke="#2196F3" stroke-width="4" points="131,59 151,59 "/> +<polyline fill="none" opacity="1" stroke="#00BCD4" stroke-width="4" points="131,84 151,84 "/> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="131,109 151,109 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="131,134 151,134 "/> +</svg> diff --git a/docs/public/images/blog/turbopack-benchmarks/bench_startup_light.svg b/docs/public/images/blog/turbopack-benchmarks/bench_startup_light.svg new file mode 100644 index 0000000..7f3bc8b --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/bench_startup_light.svg @@ -0,0 +1,127 @@ +<svg width="960" height="720" viewBox="0 0 960 720" xmlns="http://www.w3.org/2000/svg"> +<polyline fill="none" opacity="1" stroke="#2196F3" stroke-width="4" points="110,607 222,551 364,457 929,59 "/> +<polyline fill="none" opacity="1" stroke="#00BCD4" stroke-width="4" points="110,621 222,600 364,574 929,416 "/> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="110,619 222,590 364,552 929,395 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="110,626 222,620 364,612 929,577 "/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="617" x2="929" y2="617"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="605" x2="929" y2="605"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="593" x2="929" y2="593"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="581" x2="929" y2="581"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="569" x2="929" y2="569"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="557" x2="929" y2="557"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="545" x2="929" y2="545"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="533" x2="929" y2="533"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="521" x2="929" y2="521"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="509" x2="929" y2="509"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="497" x2="929" y2="497"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="485" x2="929" y2="485"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="473" x2="929" y2="473"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="461" x2="929" y2="461"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="449" x2="929" y2="449"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="437" x2="929" y2="437"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="425" x2="929" y2="425"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="413" x2="929" y2="413"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="401" x2="929" y2="401"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="389" x2="929" y2="389"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="377" x2="929" y2="377"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="365" x2="929" y2="365"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="353" x2="929" y2="353"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="341" x2="929" y2="341"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="329" x2="929" y2="329"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="317" x2="929" y2="317"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="305" x2="929" y2="305"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="293" x2="929" y2="293"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="281" x2="929" y2="281"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="269" x2="929" y2="269"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="257" x2="929" y2="257"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="245" x2="929" y2="245"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="233" x2="929" y2="233"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="221" x2="929" y2="221"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="209" x2="929" y2="209"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="197" x2="929" y2="197"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="185" x2="929" y2="185"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="173" x2="929" y2="173"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="161" x2="929" y2="161"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="149" x2="929" y2="149"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="137" x2="929" y2="137"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="125" x2="929" y2="125"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="113" x2="929" y2="113"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="101" x2="929" y2="101"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="89" x2="929" y2="89"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="77" x2="929" y2="77"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="65" x2="929" y2="65"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="53" x2="929" y2="53"/> +<line opacity="0.1" stroke="#000000" stroke-width="1" x1="110" y1="41" x2="929" y2="41"/> +<text x="30" y="330" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#000000" transform="rotate(270, 30, 330)"> +Mean time — lower is better +</text> +<text x="520" y="690" dy="-0.5ex" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="19.35483870967742" opacity="1" fill="#000000"> +Number of modules +</text> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="110" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="929" y1="629" x2="929" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="222" y1="629" x2="222" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="364" y1="629" x2="364" y2="30"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="629" x2="929" y2="629"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="509" x2="929" y2="509"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="389" x2="929" y2="389"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="269" x2="929" y2="269"/> +<line opacity="0.2" stroke="#000000" stroke-width="1" x1="110" y1="149" x2="929" y2="149"/> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="109,30 109,629 "/> +<text x="100" y="629" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +0s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,629 109,629 "/> +<text x="100" y="509" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +50s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,509 109,509 "/> +<text x="100" y="389" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +100s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,389 109,389 "/> +<text x="100" y="269" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +150s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,269 109,269 "/> +<text x="100" y="149" dy="0.5ex" text-anchor="end" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +200s +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="104,149 109,149 "/> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="110,630 929,630 "/> +<text x="110" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +1,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="110,630 110,635 "/> +<text x="929" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +30,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="929,630 929,635 "/> +<text x="222" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +5,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="222,630 222,635 "/> +<text x="364" y="640" dy="0.76em" text-anchor="middle" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="0.75" fill="#000000"> +10,000 +</text> +<polyline fill="none" opacity="1" stroke="#000000" stroke-width="1" points="364,630 364,635 "/> +<rect x="115" y="35" width="175" height="123" opacity="1" fill="#FFFFFF" stroke="none"/> +<rect x="115" y="35" width="175" height="123" opacity="0.2" fill="none" stroke="#000000"/> +<text x="161" y="51" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Next.js 11 SSR +</text> +<text x="161" y="76" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Next.js 12 SSR +</text> +<text x="161" y="101" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Vite SWC CSR +</text> +<text x="161" y="126" dy="0.76em" text-anchor="start" font-family="ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" font-size="16.129032258064516" opacity="1" fill="#000000"> +Turbopack SSR +</text> +<polyline fill="none" opacity="1" stroke="#2196F3" stroke-width="4" points="131,59 151,59 "/> +<polyline fill="none" opacity="1" stroke="#00BCD4" stroke-width="4" points="131,84 151,84 "/> +<polyline fill="none" opacity="1" stroke="#4CAF50" stroke-width="4" points="131,109 151,109 "/> +<polyline fill="none" opacity="1" stroke="#F44336" stroke-width="4" points="131,134 151,134 "/> +</svg> diff --git a/docs/public/images/blog/turbopack-benchmarks/triangle-dark.png b/docs/public/images/blog/turbopack-benchmarks/triangle-dark.png Binary files differnew file mode 100644 index 0000000..d600927 --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/triangle-dark.png diff --git a/docs/public/images/blog/turbopack-benchmarks/triangle-light.png b/docs/public/images/blog/turbopack-benchmarks/triangle-light.png Binary files differnew file mode 100644 index 0000000..f9d021b --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/triangle-light.png diff --git a/docs/public/images/blog/turbopack-benchmarks/twitter-card.png b/docs/public/images/blog/turbopack-benchmarks/twitter-card.png Binary files differnew file mode 100644 index 0000000..ed6c2d1 --- /dev/null +++ b/docs/public/images/blog/turbopack-benchmarks/twitter-card.png diff --git a/docs/public/images/blog/you-might-not-need-typescript-project-references/twitter-card.png b/docs/public/images/blog/you-might-not-need-typescript-project-references/twitter-card.png Binary files differnew file mode 100644 index 0000000..7f8759e --- /dev/null +++ b/docs/public/images/blog/you-might-not-need-typescript-project-references/twitter-card.png |
