Skip to content

Limit loader/emitter to GOMAXPROCS#3369

Draft
jakebailey wants to merge 2 commits intomainfrom
jabaile/limit-load-emit
Draft

Limit loader/emitter to GOMAXPROCS#3369
jakebailey wants to merge 2 commits intomainfrom
jabaile/limit-load-emit

Conversation

@jakebailey
Copy link
Copy Markdown
Member

Could fix #3139?

We don't benefit much from massive parallelism in these stages. Yes, we can do parsing while waiting for resolver IO, or do some emitting while waiting for checker locks, but I think might not be worth it.

This doesn't actually limit the number of spawned goroutines or their stack space; that's possible but would mean that stack traces lose context due to not using the go keyword directly, which I feel is not so good.

@jakebailey
Copy link
Copy Markdown
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Copy Markdown

typescript-bot commented Apr 8, 2026

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Copy Markdown

@jakebailey
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 81,811 (± 0.01%) 81,828 (± 0.01%) +17 (+ 0.02%) 81,813 81,839 p=0.020 n=6
Types 98,821 98,821 ~ ~ ~ p=1.000 n=6
Memory Used 174,875k (± 0.06%) 174,799k (± 0.05%) ~ 174,730k 174,983k p=0.471 n=6
Memory Allocs 1,771,575 (± 0.02%) 1,770,492 (± 0.01%) -1,083 (- 0.06%) 1,770,318 1,770,664 p=0.005 n=6
Config Time 0.000s (±244.70%) 0.000s ~ ~ ~ p=0.405 n=6
Parse Time 0.064s (± 6.49%) 0.064s (± 9.19%) ~ 0.056s 0.073s p=0.748 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.851s (± 1.10%) 0.852s (± 1.14%) ~ 0.837s 0.863s p=0.936 n=6
Total Time 0.915s (± 0.75%) 0.916s (± 1.47%) ~ 0.902s 0.935s p=0.936 n=6
angular-1 - native
Errors 2 2 ~ ~ ~ p=1.000 n=6
Symbols 884,880 (± 0.08%) 879,127 (± 0.13%) -5,754 (- 0.65%) 877,283 880,241 p=0.005 n=6
Types 263,844 (± 0.00%) 263,846 (± 0.00%) +2 (+ 0.00%) 263,845 263,848 p=0.008 n=6
Memory Used 836,073k (± 0.12%) 889,256k (± 0.07%) 🔻+53,183k (+ 6.36%) 888,485k 890,182k p=0.005 n=6
Memory Allocs 6,726,449 (± 0.58%) 6,642,084 (± 0.08%) -84,365 (- 1.25%) 6,634,473 6,648,314 p=0.005 n=6
Config Time 0.032s (±22.69%) 0.028s (± 3.91%) ~ 0.027s 0.030s p=0.406 n=6
Parse Time 0.250s (± 4.46%) 0.260s (± 4.09%) ~ 0.244s 0.276s p=0.092 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 1.903s (± 1.57%) 1.867s (± 1.34%) -0.037s (- 1.92%) 1.840s 1.907s p=0.045 n=6
Total Time 2.187s (± 1.59%) 2.156s (± 0.84%) ~ 2.138s 2.190s p=0.173 n=6
mui-docs - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 4,249,897 4,249,897 ~ ~ ~ p=1.000 n=6
Types 1,531,915 1,531,915 ~ ~ ~ p=1.000 n=6
Memory Used 5,402,322k (± 0.05%) 5,402,596k (± 0.02%) ~ 5,401,199k 5,404,895k p=0.810 n=6
Memory Allocs 98,721,943 (±21.65%) 57,673,950 (± 1.17%) 🟩-41,047,993 (-41.58%) 56,821,093 58,531,428 p=0.005 n=6
Config Time 0.023s (± 6.02%) 0.023s (± 6.45%) ~ 0.022s 0.026s p=0.455 n=6
Parse Time 1.065s (±27.47%) 0.545s (± 2.76%) 🟩-0.521s (-48.88%) 0.523s 0.563s p=0.005 n=6
Bind Time 0.002s (±34.96%) 0.003s (±81.57%) ~ 0.002s 0.008s p=1.000 n=6
Check Time 16.887s (± 0.72%) 16.803s (± 0.43%) ~ 16.749s 16.923s p=0.128 n=6
Emit Time 0.439s (± 4.01%) 0.507s (±29.32%) ~ 0.424s 0.809s p=0.423 n=6
Total Time 18.857s (± 1.38%) 18.390s (± 0.74%) -0.467s (- 2.48%) 18.277s 18.625s p=0.008 n=6
self-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,396,619 1,396,619 ~ ~ ~ p=1.000 n=6
Types 442,163 442,163 ~ ~ ~ p=1.000 n=6
Memory Used 1,634,387k (± 0.28%) 1,634,150k (± 0.23%) ~ 1,627,893k 1,638,701k p=0.810 n=6
Memory Allocs 57,264,226 (± 0.06%) 57,250,148 (± 0.06%) ~ 57,211,870 57,308,695 p=0.575 n=6
Config Time 0.015s (±34.48%) 0.015s (±45.75%) ~ 0.007s 0.023s p=0.936 n=6
Parse Time 0.258s (± 2.50%) 0.262s (± 4.77%) ~ 0.250s 0.282s p=0.688 n=6
Bind Time 0.000s (±244.70%) 0.000s ~ ~ ~ p=0.405 n=6
Check Time 2.302s (± 0.96%) 2.315s (± 0.37%) ~ 2.307s 2.329s p=0.230 n=6
Emit Time 0.225s (± 2.58%) 0.218s (± 2.54%) ~ 0.211s 0.224s p=0.065 n=6
Total Time 29.358s (± 0.85%) 29.439s (± 0.44%) ~ 29.267s 29.573s p=0.575 n=6
self-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 338,176 338,176 ~ ~ ~ p=1.000 n=6
Types 199,525 199,525 ~ ~ ~ p=1.000 n=6
Memory Used 330,547k (± 0.03%) 330,532k (± 0.03%) ~ 330,360k 330,637k p=0.689 n=6
Memory Allocs 2,551,576 (± 0.03%) 2,550,769 (± 0.03%) ~ 2,549,739 2,551,620 p=0.093 n=6
Config Time 0.001s 0.001s (±34.96%) ~ 0.001s 0.002s p=0.405 n=6
Parse Time 0.130s (± 2.90%) 0.131s (± 3.35%) ~ 0.126s 0.138s p=0.935 n=6
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Check Time 1.388s (± 0.41%) 1.390s (± 0.47%) ~ 1.381s 1.400s p=0.810 n=6
Emit Time 0.080s (± 3.15%) 0.080s (± 5.33%) ~ 0.077s 0.088s p=0.677 n=6
Total Time 1.655s (± 0.22%) 1.656s (± 0.37%) ~ 1.649s 1.665s p=0.809 n=6
ts-pre-modules - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 752 752 ~ ~ ~ p=1.000 n=6
Types 356 356 ~ ~ ~ p=1.000 n=6
Memory Used 103,321k (± 0.02%) 103,282k (± 0.02%) -39k (- 0.04%) 103,242k 103,313k p=0.045 n=6
Memory Allocs 110,684 (± 0.30%) 110,541 (± 0.19%) ~ 110,261 110,838 p=0.471 n=6
Config Time 0.001s (±109.43%) 0.001s ~ ~ ~ p=0.071 n=6
Parse Time 0.115s (± 3.22%) 0.120s (± 6.39%) ~ 0.111s 0.130s p=0.261 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Total Time 0.116s (± 3.61%) 0.121s (± 6.34%) ~ 0.112s 0.131s p=0.228 n=6
vscode - native
Errors 193 193 ~ ~ ~ p=1.000 n=6
Symbols 6,053,025 6,053,025 ~ ~ ~ p=1.000 n=6
Types 2,291,057 2,291,057 ~ ~ ~ p=1.000 n=6
Memory Used 4,113,921k (± 0.06%) 4,198,409k (± 0.17%) +84,488k (+ 2.05%) 4,191,347k 4,209,892k p=0.005 n=6
Memory Allocs 29,907,289 (± 0.07%) 29,752,569 (± 0.01%) -154,720 (- 0.52%) 29,750,371 29,756,819 p=0.005 n=6
Config Time 0.122s (± 5.78%) 0.126s (± 9.61%) ~ 0.104s 0.141s p=0.520 n=6
Parse Time 0.713s (± 1.09%) 0.838s (± 4.88%) 🔻+0.124s (+17.40%) 0.783s 0.881s p=0.005 n=6
Bind Time 0.109s (± 2.75%) 0.151s (±46.07%) ~ 0.098s 0.271s p=0.170 n=6
Check Time 8.064s (± 0.76%) 8.030s (± 0.67%) ~ 7.956s 8.094s p=0.471 n=6
Emit Time 2.011s (± 8.85%) 2.046s (± 7.42%) ~ 1.847s 2.167s p=0.229 n=6
Total Time 11.041s (± 1.20%) 11.214s (± 0.95%) +0.173s (+ 1.56%) 11.026s 11.291s p=0.045 n=6
webpack - native
Errors 1,146 1,146 ~ ~ ~ p=1.000 n=6
Symbols 699,634 699,634 ~ ~ ~ p=1.000 n=6
Types 334,753 334,753 ~ ~ ~ p=1.000 n=6
Memory Used 550,502k (± 0.03%) 552,206k (± 0.01%) +1,703k (+ 0.31%) 552,128k 552,337k p=0.005 n=6
Memory Allocs 4,226,271 (± 0.30%) 4,224,021 (± 0.05%) ~ 4,221,147 4,226,608 p=0.810 n=6
Config Time 0.014s (±21.89%) 0.013s (±26.70%) ~ 0.010s 0.017s p=0.223 n=6
Parse Time 0.141s (± 5.16%) 0.158s (± 6.22%) 🔻+0.018s (+12.57%) 0.148s 0.172s p=0.010 n=6
Bind Time 0.031s (±35.54%) 0.038s (±31.13%) ~ 0.023s 0.052s p=0.686 n=6
Check Time 1.153s (± 1.46%) 1.159s (± 0.96%) ~ 1.145s 1.175s p=0.423 n=6
Emit Time 0.001s 0.002s 🔻+0.001s (+100.00%) ~ ~ p=0.001 n=6
Total Time 1.359s (± 1.15%) 1.390s (± 0.66%) +0.032s (+ 2.34%) 1.376s 1.402s p=0.005 n=6
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 991,165 991,165 ~ ~ ~ p=1.000 n=6
Types 350,724 350,724 ~ ~ ~ p=1.000 n=6
Memory Used 599,899k (± 0.01%) 600,042k (± 0.02%) +144k (+ 0.02%) 599,957k 600,212k p=0.020 n=6
Memory Allocs 4,946,241 (± 0.12%) 4,945,390 (± 0.08%) ~ 4,941,580 4,951,106 p=0.575 n=6
Config Time 0.007s (±24.01%) 0.006s (±31.87%) ~ 0.004s 0.009s p=0.611 n=6
Parse Time 0.137s (± 7.95%) 0.137s (± 1.82%) ~ 0.134s 0.141s p=0.688 n=6
Bind Time 0.028s (± 8.52%) 0.040s (±21.11%) ~ 0.023s 0.046s p=0.065 n=6
Check Time 1.139s (± 0.55%) 1.133s (± 1.67%) ~ 1.106s 1.163s p=0.230 n=6
Emit Time 0.001s 0.001s ~ ~ ~ p=1.000 n=6
Total Time 1.315s (± 1.02%) 1.320s (± 1.03%) ~ 1.300s 1.337s p=0.471 n=6
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • mui-docs - native
  • self-build-src - native
  • self-compiler - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@jakebailey
Copy link
Copy Markdown
Member Author

Hmmmmm I'm suspicious

@typescript-bot perf test this

@typescript-bot
Copy link
Copy Markdown

typescript-bot commented Apr 8, 2026

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this ✅ Started 👀 Results

@typescript-bot
Copy link
Copy Markdown

@jakebailey
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 81,815 (± 0.02%) 81,794 (± 0.05%) ~ 81,717 81,809 p=0.213 n=6
Types 98,821 98,821 ~ ~ ~ p=1.000 n=6
Memory Used 175,004k (± 0.08%) 175,006k (± 0.06%) ~ 174,896k 175,146k p=0.689 n=6
Memory Allocs 1,771,728 (± 0.01%) 1,771,445 (± 0.01%) -284 (- 0.02%) 1,771,250 1,771,698 p=0.031 n=6
Config Time 0.000s (±244.70%) 0.000s ~ ~ ~ p=0.405 n=6
Parse Time 0.063s (± 6.89%) 0.066s (± 4.16%) ~ 0.062s 0.070s p=0.334 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.995s (± 1.76%) 1.004s (± 0.71%) ~ 0.995s 1.013s p=0.230 n=6
Total Time 1.059s (± 1.30%) 1.070s (± 0.78%) ~ 1.058s 1.079s p=0.128 n=6
angular-1 - native
Errors 2 2 ~ ~ ~ p=1.000 n=6
Symbols 885,127 (± 0.11%) 879,256 (± 0.13%) -5,871 (- 0.66%) 877,821 880,777 p=0.005 n=6
Types 263,843 (± 0.00%) 263,845 (± 0.00%) +2 (+ 0.00%) 263,844 263,847 p=0.011 n=6
Memory Used 835,879k (± 0.04%) 890,579k (± 0.04%) 🔻+54,700k (+ 6.54%) 890,043k 891,055k p=0.005 n=6
Memory Allocs 6,734,457 (± 0.27%) 6,644,587 (± 0.04%) -89,870 (- 1.33%) 6,641,077 6,649,067 p=0.005 n=6
Config Time 0.040s (± 5.48%) 0.041s (±11.32%) ~ 0.037s 0.050s p=0.935 n=6
Parse Time 0.254s (± 4.09%) 0.277s (± 3.93%) 🔻+0.024s (+ 9.32%) 0.258s 0.289s p=0.013 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 2.065s (± 0.97%) 2.100s (± 0.94%) +0.035s (+ 1.71%) 2.069s 2.116s p=0.020 n=6
Total Time 2.360s (± 0.73%) 2.421s (± 1.00%) +0.060s (+ 2.56%) 2.379s 2.440s p=0.008 n=6
mui-docs - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 4,249,897 4,249,897 ~ ~ ~ p=1.000 n=6
Types 1,531,915 1,531,915 ~ ~ ~ p=1.000 n=6
Memory Used 5,398,428k (± 0.01%) 5,402,156k (± 0.06%) +3,728k (+ 0.07%) 5,398,386k 5,407,903k p=0.031 n=6
Memory Allocs 91,602,286 (±10.99%) 58,901,030 (± 1.41%) 🟩-32,701,256 (-35.70%) 57,818,733 60,060,860 p=0.005 n=6
Config Time 0.033s (±14.18%) 0.035s (±18.18%) ~ 0.027s 0.041s p=0.572 n=6
Parse Time 1.007s (±12.30%) 0.601s (± 3.14%) 🟩-0.406s (-40.33%) 0.582s 0.637s p=0.005 n=6
Bind Time 0.002s 0.003s (±26.54%) 🔻+0.001s (+41.67%) 0.002s 0.004s p=0.027 n=6
Check Time 19.452s (± 0.52%) 19.545s (± 0.34%) ~ 19.455s 19.639s p=0.173 n=6
Emit Time 0.533s (± 4.89%) 0.584s (±24.27%) ~ 0.505s 0.869s p=0.747 n=6
Total Time 21.394s (± 0.99%) 21.370s (± 0.96%) ~ 21.160s 21.702s p=0.936 n=6
self-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,396,619 1,396,619 ~ ~ ~ p=1.000 n=6
Types 442,163 442,163 ~ ~ ~ p=1.000 n=6
Memory Used 1,636,488k (± 0.14%) 1,638,203k (± 0.26%) ~ 1,632,389k 1,643,562k p=0.689 n=6
Memory Allocs 57,269,029 (± 0.08%) 57,315,873 (± 0.08%) ~ 57,261,437 57,370,294 p=0.128 n=6
Config Time 0.025s (± 6.61%) 0.022s (±17.17%) ~ 0.017s 0.028s p=0.108 n=6
Parse Time 0.272s (± 2.25%) 0.262s (± 2.44%) 🟩-0.010s (- 3.49%) 0.252s 0.270s p=0.045 n=6
Bind Time 0.000s 0.000s (±244.70%) ~ 0.000s 0.001s p=0.405 n=6
Check Time 2.693s (± 0.98%) 2.679s (± 0.85%) ~ 2.648s 2.716s p=0.378 n=6
Emit Time 0.259s (± 4.22%) 0.266s (± 4.80%) ~ 0.247s 0.280s p=0.298 n=6
Total Time 33.728s (± 1.17%) 33.541s (± 0.79%) ~ 33.220s 33.968s p=0.575 n=6
self-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 338,176 338,176 ~ ~ ~ p=1.000 n=6
Types 199,525 199,525 ~ ~ ~ p=1.000 n=6
Memory Used 330,607k (± 0.03%) 330,568k (± 0.06%) ~ 330,356k 330,782k p=0.689 n=6
Memory Allocs 2,551,933 (± 0.02%) 2,551,353 (± 0.03%) ~ 2,550,381 2,552,803 p=0.298 n=6
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=6
Parse Time 0.132s (± 2.42%) 0.130s (± 3.78%) ~ 0.122s 0.136s p=0.627 n=6
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Check Time 1.383s (± 1.48%) 1.390s (± 1.26%) ~ 1.362s 1.411s p=0.521 n=6
Emit Time 0.081s (± 7.39%) 0.080s (± 9.67%) ~ 0.075s 0.095s p=1.000 n=6
Total Time 1.648s (± 0.96%) 1.652s (± 0.89%) ~ 1.629s 1.669s p=0.630 n=6
ts-pre-modules - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 752 752 ~ ~ ~ p=1.000 n=6
Types 356 356 ~ ~ ~ p=1.000 n=6
Memory Used 103,299k (± 0.02%) 103,288k (± 0.03%) ~ 103,232k 103,323k p=0.628 n=6
Memory Allocs 110,955 (± 0.20%) 110,746 (± 0.39%) ~ 110,144 111,330 p=0.575 n=6
Config Time 0.001s (±48.94%) 0.001s (±77.38%) ~ 0.000s 0.001s p=0.595 n=6
Parse Time 0.115s (± 5.12%) 0.120s (± 4.59%) ~ 0.113s 0.128s p=0.170 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Total Time 0.117s (± 4.95%) 0.121s (± 4.65%) ~ 0.114s 0.129s p=0.171 n=6
vscode - native
Errors 193 193 ~ ~ ~ p=1.000 n=6
Symbols 6,047,557 6,047,557 ~ ~ ~ p=1.000 n=6
Types 2,288,711 2,288,711 ~ ~ ~ p=1.000 n=6
Memory Used 4,109,839k (± 0.02%) 4,198,386k (± 0.15%) +88,547k (+ 2.15%) 4,190,604k 4,208,514k p=0.005 n=6
Memory Allocs 29,872,721 (± 0.07%) 29,725,256 (± 0.03%) -147,465 (- 0.49%) 29,708,464 29,730,694 p=0.005 n=6
Config Time 0.119s (± 9.70%) 0.125s (± 6.43%) ~ 0.120s 0.141s p=0.374 n=6
Parse Time 0.690s (± 3.78%) 0.845s (± 3.19%) 🔻+0.155s (+22.51%) 0.811s 0.872s p=0.005 n=6
Bind Time 0.133s (±32.77%) 0.108s (± 4.72%) ~ 0.100s 0.114s p=0.630 n=6
Check Time 8.101s (± 0.96%) 8.060s (± 0.25%) ~ 8.040s 8.090s p=0.575 n=6
Emit Time 1.826s (±11.27%) 2.128s (± 0.48%) 🔻+0.302s (+16.54%) 2.112s 2.137s p=0.005 n=6
Total Time 10.893s (± 1.13%) 11.288s (± 0.24%) +0.395s (+ 3.63%) 11.245s 11.309s p=0.005 n=6
webpack - native
Errors 1,146 1,146 ~ ~ ~ p=1.000 n=6
Symbols 699,634 699,634 ~ ~ ~ p=1.000 n=6
Types 334,753 334,753 ~ ~ ~ p=1.000 n=6
Memory Used 550,374k (± 0.03%) 552,185k (± 0.02%) +1,812k (+ 0.33%) 552,012k 552,364k p=0.005 n=6
Memory Allocs 4,225,043 (± 0.24%) 4,223,363 (± 0.03%) ~ 4,221,298 4,224,965 p=0.378 n=6
Config Time 0.012s (±22.29%) 0.013s (±19.44%) ~ 0.010s 0.016s p=0.461 n=6
Parse Time 0.143s (± 3.00%) 0.157s (± 4.40%) 🔻+0.014s (+ 9.67%) 0.146s 0.165s p=0.010 n=6
Bind Time 0.025s (±12.98%) 0.036s (±28.76%) 🔻+0.011s (+44.59%) 0.024s 0.049s p=0.034 n=6
Check Time 1.157s (± 0.89%) 1.147s (± 0.87%) ~ 1.136s 1.162s p=0.128 n=6
Emit Time 0.001s (±34.96%) 0.002s 🔻+0.001s (+71.43%) ~ ~ p=0.007 n=6
Total Time 1.358s (± 1.15%) 1.377s (± 0.50%) +0.019s (+ 1.40%) 1.367s 1.384s p=0.030 n=6
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 991,165 991,165 ~ ~ ~ p=1.000 n=6
Types 350,724 350,724 ~ ~ ~ p=1.000 n=6
Memory Used 599,651k (± 0.01%) 599,765k (± 0.01%) +113k (+ 0.02%) 599,672k 599,892k p=0.045 n=6
Memory Allocs 4,939,663 (± 0.18%) 4,938,600 (± 0.03%) ~ 4,937,093 4,940,324 p=0.810 n=6
Config Time 0.004s (±18.82%) 0.004s ~ ~ ~ p=0.405 n=6
Parse Time 0.141s (± 7.95%) 0.134s (± 7.32%) ~ 0.120s 0.147s p=0.422 n=6
Bind Time 0.026s (±34.77%) 0.037s (±22.19%) ~ 0.022s 0.044s p=0.089 n=6
Check Time 0.971s (± 1.39%) 0.962s (± 0.82%) ~ 0.953s 0.971s p=0.128 n=6
Emit Time 0.001s (±109.43%) 0.001s ~ ~ ~ p=0.071 n=6
Total Time 1.146s (± 0.77%) 1.140s (± 1.44%) ~ 1.120s 1.165s p=0.298 n=6
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • mui-docs - native
  • self-build-src - native
  • self-compiler - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

lsp

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsLSP - native
Req 1 - updateOpen 9ms 9ms ~ ~ ~ p=1.000 n=6
Req 2 - geterr 952ms (± 1.59%) 950ms (± 0.87%) ~ 939ms 960ms p=0.936 n=6
Req 3 - references 27ms (± 4.30%) 28ms (± 6.88%) ~ 27ms 32ms p=0.357 n=6
Req 4 - navto 16ms (± 6.08%) 17ms (±12.11%) ~ 16ms 21ms p=0.599 n=6
CompilerLSP - native
Req 1 - updateOpen 10ms 10ms ~ ~ ~ p=1.000 n=6
Req 2 - geterr 446ms (± 2.74%) 448ms (± 2.89%) ~ 427ms 466ms p=0.748 n=6
Req 3 - references 33ms (± 5.75%) 33ms (± 8.26%) ~ 30ms 38ms p=0.868 n=6
Req 4 - navto 18ms (± 2.81%) 18ms (± 5.63%) ~ 17ms 20ms p=0.928 n=6
System info unknown
Hosts
  • native
Scenarios
  • CompilerLSP - native
  • Compiler-UnionsLSP - native
  • xstate-main-1-LSP - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
lsp-startup - native
Execution time 4.64ms (±516.54%) 4.66ms (±516.54%) +0.02ms (+ 0.43%) 0.00ms 467.03ms p=0.000 n=600
tsgo-startup - native
Execution time 5.74ms (±516.56%) 5.72ms (±516.55%) ~ 0.00ms 576.34ms p=0.232 n=600
System info unknown
Hosts
  • native
Scenarios
  • lsp-startup - native
  • tsgo-startup - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@jakebailey jakebailey force-pushed the jabaile/limit-load-emit branch from 911ab8d to cab6754 Compare April 11, 2026 02:09
@jakebailey
Copy link
Copy Markdown
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Copy Markdown

typescript-bot commented Apr 11, 2026

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Copy Markdown

@jakebailey
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - native
Errors 4 4 ~ ~ ~ p=1.000 n=6
Symbols 81,813 (± 0.02%) 81,812 (± 0.04%) ~ 81,774 81,841 p=0.809 n=6
Types 98,821 98,821 ~ ~ ~ p=1.000 n=6
Memory Used 175,150k (± 0.06%) 175,084k (± 0.06%) ~ 174,966k 175,196k p=0.173 n=6
Memory Allocs 1,771,605 (± 0.01%) 1,770,472 (± 0.01%) -1,134 (- 0.06%) 1,770,226 1,770,835 p=0.005 n=6
Config Time 0.000s 0.000s (±244.70%) ~ 0.000s 0.001s p=0.405 n=6
Parse Time 0.067s (± 9.35%) 0.061s (±18.05%) ~ 0.050s 0.077s p=0.334 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.851s (± 1.87%) 0.851s (± 1.19%) ~ 0.842s 0.864s p=0.936 n=6
Total Time 0.917s (± 1.99%) 0.911s (± 1.55%) ~ 0.893s 0.929s p=0.688 n=6
angular-1 - native
Errors 2 2 ~ ~ ~ p=1.000 n=6
Symbols 885,047 (± 0.07%) 878,476 (± 0.13%) -6,570 (- 0.74%) 877,146 880,339 p=0.005 n=6
Types 263,843 (± 0.00%) 263,847 (± 0.00%) +4 (+ 0.00%) 263,844 263,848 p=0.005 n=6
Memory Used 839,272k (± 0.04%) 890,697k (± 0.07%) 🔻+51,425k (+ 6.13%) 889,525k 891,138k p=0.005 n=6
Memory Allocs 6,713,534 (± 0.17%) 6,627,401 (± 0.06%) -86,133 (- 1.28%) 6,623,354 6,633,865 p=0.005 n=6
Config Time 0.029s (± 7.84%) 0.027s (± 2.98%) ~ 0.027s 0.029s p=0.253 n=6
Parse Time 0.241s (± 6.46%) 0.242s (±10.68%) ~ 0.206s 0.273s p=0.936 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 1.897s (± 0.93%) 1.872s (± 1.74%) ~ 1.832s 1.908s p=0.128 n=6
Total Time 2.168s (± 1.47%) 2.143s (± 2.26%) ~ 2.081s 2.212s p=0.378 n=6
mui-docs - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 4,250,033 4,250,033 ~ ~ ~ p=1.000 n=6
Types 1,532,068 1,532,068 ~ ~ ~ p=1.000 n=6
Memory Used 5,408,575k (± 0.07%) 5,405,510k (± 0.07%) ~ 5,402,569k 5,413,243k p=0.298 n=6
Memory Allocs 99,322,029 (±23.46%) 59,047,914 (± 0.05%) 🟩-40,274,115 (-40.55%) 59,017,021 59,085,596 p=0.005 n=6
Config Time 0.023s (± 6.73%) 0.025s (±17.29%) ~ 0.021s 0.031s p=0.803 n=6
Parse Time 1.110s (±32.61%) 0.536s (± 2.85%) 🟩-0.574s (-51.69%) 0.513s 0.560s p=0.005 n=6
Bind Time 0.002s 0.002s ~ ~ ~ p=1.000 n=6
Check Time 16.792s (± 0.61%) 16.836s (± 0.43%) ~ 16.696s 16.893s p=0.230 n=6
Emit Time 0.446s (± 3.98%) 0.433s (± 3.91%) ~ 0.421s 0.455s p=0.221 n=6
Total Time 18.808s (± 2.54%) 18.312s (± 0.61%) -0.496s (- 2.64%) 18.090s 18.385s p=0.045 n=6
self-build-src - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,396,619 1,396,619 ~ ~ ~ p=1.000 n=6
Types 442,163 442,163 ~ ~ ~ p=1.000 n=6
Memory Used 1,647,701k (± 0.27%) 1,649,184k (± 0.49%) ~ 1,639,633k 1,659,819k p=0.810 n=6
Memory Allocs 57,293,918 (± 0.11%) 57,293,636 (± 0.13%) ~ 57,194,250 57,405,515 p=0.810 n=6
Config Time 0.015s (±42.79%) 0.013s (±48.27%) ~ 0.007s 0.023s p=0.573 n=6
Parse Time 0.261s (± 4.62%) 0.259s (± 2.28%) ~ 0.251s 0.267s p=0.378 n=6
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Check Time 2.316s (± 0.87%) 2.314s (± 1.16%) ~ 2.288s 2.347s p=0.575 n=6
Emit Time 0.216s (± 3.89%) 0.212s (± 4.43%) ~ 0.200s 0.227s p=0.689 n=6
Total Time 29.307s (± 0.32%) 29.212s (± 0.69%) ~ 28.843s 29.412s p=0.378 n=6
self-compiler - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 338,176 338,176 ~ ~ ~ p=1.000 n=6
Types 199,525 199,525 ~ ~ ~ p=1.000 n=6
Memory Used 331,956k (± 0.04%) 331,930k (± 0.04%) ~ 331,775k 332,087k p=0.575 n=6
Memory Allocs 2,552,615 (± 0.01%) 2,552,365 (± 0.02%) ~ 2,551,717 2,553,480 p=0.173 n=6
Config Time 0.001s 0.001s ~ ~ ~ p=1.000 n=6
Parse Time 0.136s (± 4.65%) 0.134s (± 3.75%) ~ 0.125s 0.139s p=0.260 n=6
Bind Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Check Time 1.399s (± 1.20%) 1.385s (± 0.96%) ~ 1.373s 1.411s p=0.173 n=6
Emit Time 0.089s (±14.70%) 0.083s (± 6.97%) ~ 0.077s 0.091s p=0.422 n=6
Total Time 1.675s (± 1.42%) 1.653s (± 0.59%) ~ 1.648s 1.673s p=0.092 n=6
ts-pre-modules - native
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 752 752 ~ ~ ~ p=1.000 n=6
Types 356 356 ~ ~ ~ p=1.000 n=6
Memory Used 104,609k (± 0.02%) 104,583k (± 0.03%) -26k (- 0.03%) 104,540k 104,622k p=0.045 n=6
Memory Allocs 110,820 (± 0.17%) 110,564 (± 0.14%) ~ 110,359 110,751 p=0.054 n=6
Config Time 0.001s 0.001s (±77.38%) ~ 0.000s 0.001s p=0.174 n=6
Parse Time 0.119s (± 5.34%) 0.121s (± 7.62%) ~ 0.112s 0.135s p=0.630 n=6
Bind Time 0s 0s ~ ~ ~ p=1.000 n=6
Check Time 0s 0s ~ ~ ~ p=1.000 n=6
Emit Time 0.000s 0.000s ~ ~ ~ p=1.000 n=6
Total Time 0.120s (± 5.16%) 0.123s (± 7.79%) ~ 0.113s 0.137s p=0.688 n=6
vscode - native
Errors 193 193 ~ ~ ~ p=1.000 n=6
Symbols 6,065,648 6,065,648 ~ ~ ~ p=1.000 n=6
Types 2,296,278 2,296,278 ~ ~ ~ p=1.000 n=6
Memory Used 4,134,054k (± 0.03%) 4,192,247k (± 0.16%) +58,193k (+ 1.41%) 4,185,538k 4,202,159k p=0.005 n=6
Memory Allocs 30,015,374 (± 0.05%) 29,751,768 (± 0.01%) -263,607 (- 0.88%) 29,747,686 29,757,514 p=0.005 n=6
Config Time 0.124s (± 6.89%) 0.128s (± 9.72%) ~ 0.111s 0.143s p=0.471 n=6
Parse Time 0.720s (± 1.32%) 0.732s (± 4.60%) ~ 0.688s 0.779s p=0.575 n=6
Bind Time 0.112s (± 2.92%) 0.143s (±37.01%) ~ 0.109s 0.232s p=0.808 n=6
Check Time 8.075s (± 0.88%) 8.055s (± 0.54%) ~ 7.993s 8.119s p=0.688 n=6
Emit Time 1.989s (± 8.54%) 2.049s (± 6.91%) ~ 1.859s 2.178s p=0.229 n=6
Total Time 11.041s (± 0.98%) 11.132s (± 0.78%) ~ 11.008s 11.250s p=0.173 n=6
webpack - native
Errors 1,149 1,149 ~ ~ ~ p=1.000 n=6
Symbols 700,265 700,265 ~ ~ ~ p=1.000 n=6
Types 334,364 334,364 ~ ~ ~ p=1.000 n=6
Memory Used 553,765k (± 0.02%) 553,628k (± 0.02%) -137k (- 0.02%) 553,478k 553,774k p=0.045 n=6
Memory Allocs 4,248,353 (± 0.43%) 4,237,071 (± 0.05%) ~ 4,235,312 4,240,694 p=0.298 n=6
Config Time 0.014s (±17.48%) 0.012s (±13.98%) ~ 0.010s 0.014s p=0.104 n=6
Parse Time 0.147s (± 5.43%) 0.148s (± 5.28%) ~ 0.141s 0.159s p=1.000 n=6
Bind Time 0.034s (±18.74%) 0.031s (±21.38%) ~ 0.026s 0.044s p=0.518 n=6
Check Time 1.128s (± 0.69%) 1.130s (± 0.94%) ~ 1.122s 1.150s p=0.810 n=6
Emit Time 0.001s (±34.96%) 0.002s 🔻+0.001s (+71.43%) ~ ~ p=0.007 n=6
Total Time 1.345s (± 1.37%) 1.341s (± 0.96%) ~ 1.329s 1.365s p=0.687 n=6
xstate-main - native
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 991,165 991,165 ~ ~ ~ p=1.000 n=6
Types 350,724 350,724 ~ ~ ~ p=1.000 n=6
Memory Used 603,254k (± 0.01%) 603,212k (± 0.02%) ~ 602,988k 603,377k p=0.936 n=6
Memory Allocs 4,947,449 (± 0.17%) 4,944,305 (± 0.14%) ~ 4,935,061 4,953,486 p=0.575 n=6
Config Time 0.007s (±28.54%) 0.007s (±24.01%) ~ 0.005s 0.009s p=0.931 n=6
Parse Time 0.139s (± 3.26%) 0.132s (± 4.95%) ~ 0.123s 0.141s p=0.126 n=6
Bind Time 0.031s (±17.80%) 0.029s (±10.14%) ~ 0.025s 0.033s p=0.808 n=6
Check Time 1.135s (± 1.13%) 1.140s (± 1.08%) ~ 1.125s 1.155s p=0.378 n=6
Emit Time 0.001s 0.001s ~ ~ ~ p=1.000 n=6
Total Time 1.318s (± 1.06%) 1.313s (± 1.19%) ~ 1.286s 1.329s p=0.810 n=6
System info unknown
Hosts
  • native
Scenarios
  • Compiler-Unions - native
  • angular-1 - native
  • mui-docs - native
  • self-build-src - native
  • self-compiler - native
  • ts-pre-modules - native
  • vscode - native
  • webpack - native
  • xstate-main - native
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

runtime: failed to create new OS thread

2 participants