Skip to content

Simplify normalizeSlashes #50154

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 10, 2022
Merged

Conversation

jakebailey
Copy link
Member

@jakebailey jakebailey commented Aug 2, 2022

It turns out that replace totally ignores lastIndex. It's faster to not set the property, and then (seemingly) a little faster still to use a conditional (it is at least consistent with other functions like this one).

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Aug 2, 2022
@jakebailey
Copy link
Member Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Aug 2, 2022

Heya @jakebailey, I've started to run the perf test suite on this PR at ec51f12. You can monitor the build here.

Update: The results are in!

}
backslashRegExp.lastIndex = index; // prime regex with known position
return path.replace(backslashRegExp, directorySeparator);
return path.indexOf("\\") !== -1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, use === and flip the branches.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I considered that, but opted to match the other functions that do regex.test(s) ? s.replace(regex, "...") : s. From my testing it was the same, I think.

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..50154
Metric main 50154 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 360,343k (± 0.02%) 360,445k (± 0.02%) +102k (+ 0.03%) 360,287k 360,710k
Parse Time 2.10s (± 0.59%) 2.11s (± 0.52%) +0.01s (+ 0.67%) 2.08s 2.14s
Bind Time 0.90s (± 0.77%) 0.90s (± 0.72%) +0.00s (+ 0.34%) 0.88s 0.91s
Check Time 6.02s (± 0.37%) 6.08s (± 0.69%) +0.05s (+ 0.88%) 5.98s 6.18s
Emit Time 6.18s (± 0.93%) 6.19s (± 0.77%) +0.01s (+ 0.24%) 6.07s 6.28s
Total Time 15.19s (± 0.49%) 15.28s (± 0.56%) +0.09s (+ 0.59%) 15.08s 15.48s
Compiler-Unions - node (v10.16.3, x64)
Memory used 206,982k (± 0.03%) 207,019k (± 0.04%) +37k (+ 0.02%) 206,901k 207,294k
Parse Time 0.83s (± 0.90%) 0.84s (± 1.33%) +0.00s (+ 0.36%) 0.82s 0.87s
Bind Time 0.53s (± 1.71%) 0.54s (± 1.41%) +0.01s (+ 0.94%) 0.52s 0.56s
Check Time 7.17s (± 0.77%) 7.16s (± 0.55%) -0.01s (- 0.17%) 7.06s 7.24s
Emit Time 2.50s (± 1.42%) 2.51s (± 0.81%) +0.02s (+ 0.72%) 2.47s 2.56s
Total Time 11.04s (± 0.71%) 11.05s (± 0.42%) +0.01s (+ 0.11%) 10.95s 11.12s
Monaco - node (v10.16.3, x64)
Memory used 343,941k (± 0.02%) 343,904k (± 0.02%) -37k (- 0.01%) 343,771k 344,016k
Parse Time 1.61s (± 0.76%) 1.61s (± 0.37%) +0.01s (+ 0.37%) 1.60s 1.63s
Bind Time 0.76s (± 1.41%) 0.75s (± 0.48%) -0.01s (- 0.66%) 0.75s 0.76s
Check Time 6.01s (± 0.42%) 5.99s (± 0.58%) -0.01s (- 0.23%) 5.91s 6.06s
Emit Time 3.26s (± 0.50%) 3.28s (± 0.91%) +0.02s (+ 0.55%) 3.22s 3.33s
Total Time 11.63s (± 0.31%) 11.64s (± 0.48%) +0.01s (+ 0.05%) 11.49s 11.75s
TFS - node (v10.16.3, x64)
Memory used 305,196k (± 0.02%) 305,124k (± 0.02%) -72k (- 0.02%) 304,905k 305,254k
Parse Time 1.29s (± 0.60%) 1.30s (± 0.87%) +0.01s (+ 0.78%) 1.28s 1.34s
Bind Time 0.72s (± 0.97%) 0.72s (± 0.77%) -0.00s (- 0.14%) 0.71s 0.73s
Check Time 5.44s (± 0.40%) 5.45s (± 0.31%) +0.01s (+ 0.26%) 5.42s 5.50s
Emit Time 3.42s (± 0.55%) 3.43s (± 0.64%) +0.01s (+ 0.41%) 3.39s 3.48s
Total Time 10.87s (± 0.25%) 10.90s (± 0.32%) +0.03s (+ 0.30%) 10.84s 10.98s
material-ui - node (v10.16.3, x64)
Memory used 469,481k (± 0.00%) 469,452k (± 0.01%) -29k (- 0.01%) 469,292k 469,568k
Parse Time 1.84s (± 0.65%) 1.85s (± 0.74%) +0.01s (+ 0.54%) 1.82s 1.87s
Bind Time 0.69s (± 1.30%) 0.68s (± 1.74%) -0.00s (- 0.58%) 0.66s 0.70s
Check Time 14.66s (± 0.65%) 14.63s (± 0.59%) -0.04s (- 0.24%) 14.45s 14.80s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 17.19s (± 0.58%) 17.16s (± 0.55%) -0.03s (- 0.16%) 16.97s 17.34s
xstate - node (v10.16.3, x64)
Memory used 578,515k (± 0.02%) 578,493k (± 0.01%) -22k (- 0.00%) 578,306k 578,643k
Parse Time 2.61s (± 0.33%) 2.62s (± 0.13%) +0.01s (+ 0.46%) 2.61s 2.63s
Bind Time 1.03s (± 0.78%) 1.04s (± 1.25%) +0.01s (+ 0.78%) 1.01s 1.07s
Check Time 1.57s (± 0.54%) 1.57s (± 0.48%) +0.00s (+ 0.25%) 1.56s 1.59s
Emit Time 0.07s (± 0.00%) 0.07s (± 4.13%) +0.00s (+ 2.86%) 0.07s 0.08s
Total Time 5.28s (± 0.27%) 5.30s (± 0.24%) +0.02s (+ 0.34%) 5.27s 5.32s
Angular - node (v12.1.0, x64)
Memory used 337,808k (± 0.09%) 337,828k (± 0.07%) +21k (+ 0.01%) 336,882k 338,189k
Parse Time 2.08s (± 0.55%) 2.10s (± 0.81%) +0.02s (+ 1.06%) 2.08s 2.15s
Bind Time 0.86s (± 1.19%) 0.86s (± 0.96%) +0.00s (+ 0.35%) 0.85s 0.88s
Check Time 5.86s (± 0.97%) 5.87s (± 0.45%) +0.00s (+ 0.03%) 5.81s 5.92s
Emit Time 6.38s (± 0.36%) 6.43s (± 1.00%) +0.05s (+ 0.81%) 6.33s 6.57s
Total Time 15.19s (± 0.47%) 15.27s (± 0.46%) +0.08s (+ 0.54%) 15.14s 15.41s
Compiler-Unions - node (v12.1.0, x64)
Memory used 194,623k (± 0.04%) 194,492k (± 0.10%) -131k (- 0.07%) 193,841k 194,808k
Parse Time 0.82s (± 0.54%) 0.83s (± 1.20%) +0.01s (+ 0.97%) 0.80s 0.85s
Bind Time 0.55s (± 0.90%) 0.55s (± 0.41%) +0.00s (+ 0.55%) 0.54s 0.55s
Check Time 6.70s (± 0.71%) 6.70s (± 0.35%) -0.00s (- 0.03%) 6.64s 6.74s
Emit Time 2.52s (± 0.89%) 2.53s (± 1.01%) +0.01s (+ 0.28%) 2.48s 2.58s
Total Time 10.59s (± 0.52%) 10.61s (± 0.38%) +0.02s (+ 0.14%) 10.49s 10.67s
Monaco - node (v12.1.0, x64)
Memory used 326,875k (± 0.02%) 326,850k (± 0.02%) -25k (- 0.01%) 326,730k 326,965k
Parse Time 1.58s (± 0.60%) 1.58s (± 1.18%) 0.00s ( 0.00%) 1.54s 1.64s
Bind Time 0.74s (± 0.87%) 0.75s (± 1.32%) +0.01s (+ 0.81%) 0.73s 0.78s
Check Time 5.81s (± 0.51%) 5.82s (± 0.56%) +0.01s (+ 0.10%) 5.75s 5.90s
Emit Time 3.29s (± 0.64%) 3.31s (± 0.61%) +0.01s (+ 0.43%) 3.25s 3.34s
Total Time 11.42s (± 0.42%) 11.45s (± 0.43%) +0.03s (+ 0.23%) 11.36s 11.56s
TFS - node (v12.1.0, x64)
Memory used 289,829k (± 0.01%) 289,833k (± 0.01%) +5k (+ 0.00%) 289,760k 289,950k
Parse Time 1.30s (± 0.88%) 1.31s (± 0.74%) +0.01s (+ 0.85%) 1.29s 1.33s
Bind Time 0.72s (± 1.03%) 0.72s (± 0.77%) -0.00s (- 0.28%) 0.71s 0.73s
Check Time 5.37s (± 0.39%) 5.40s (± 0.43%) +0.02s (+ 0.47%) 5.34s 5.44s
Emit Time 3.53s (± 0.73%) 3.53s (± 0.72%) +0.00s (+ 0.11%) 3.48s 3.59s
Total Time 10.92s (± 0.41%) 10.96s (± 0.35%) +0.04s (+ 0.35%) 10.88s 11.02s
material-ui - node (v12.1.0, x64)
Memory used 448,591k (± 0.01%) 448,450k (± 0.07%) -141k (- 0.03%) 447,276k 448,686k
Parse Time 1.82s (± 0.58%) 1.83s (± 0.63%) +0.00s (+ 0.16%) 1.80s 1.85s
Bind Time 0.67s (± 0.50%) 0.68s (± 0.99%) +0.01s (+ 1.04%) 0.66s 0.69s
Check Time 13.03s (± 0.36%) 13.15s (± 0.82%) +0.12s (+ 0.95%) 12.93s 13.39s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.52s (± 0.29%) 15.66s (± 0.66%) +0.14s (+ 0.89%) 15.44s 15.90s
xstate - node (v12.1.0, x64)
Memory used 543,878k (± 0.01%) 543,868k (± 0.01%) -10k (- 0.00%) 543,726k 544,007k
Parse Time 2.56s (± 0.49%) 2.56s (± 0.45%) +0.00s (+ 0.12%) 2.53s 2.58s
Bind Time 1.03s (± 1.24%) 1.02s (± 1.07%) -0.01s (- 0.58%) 1.00s 1.04s
Check Time 1.51s (± 0.46%) 1.51s (± 0.37%) +0.00s (+ 0.07%) 1.50s 1.52s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.17s (± 0.49%) 5.16s (± 0.25%) -0.00s (- 0.02%) 5.14s 5.20s
Angular - node (v14.15.1, x64)
Memory used 336,145k (± 0.01%) 336,157k (± 0.01%) +12k (+ 0.00%) 336,074k 336,236k
Parse Time 2.07s (± 0.50%) 2.08s (± 0.43%) +0.01s (+ 0.34%) 2.06s 2.10s
Bind Time 0.90s (± 0.53%) 0.90s (± 0.41%) -0.00s (- 0.11%) 0.89s 0.90s
Check Time 5.83s (± 0.63%) 5.85s (± 0.87%) +0.02s (+ 0.34%) 5.76s 5.98s
Emit Time 6.36s (± 0.60%) 6.41s (± 0.92%) +0.05s (+ 0.77%) 6.33s 6.59s
Total Time 15.15s (± 0.44%) 15.23s (± 0.62%) +0.08s (+ 0.50%) 15.08s 15.46s
Compiler-Unions - node (v14.15.1, x64)
Memory used 193,182k (± 0.02%) 193,181k (± 0.02%) -1k (- 0.00%) 193,137k 193,287k
Parse Time 0.85s (± 0.65%) 0.85s (± 0.39%) -0.00s (- 0.23%) 0.84s 0.86s
Bind Time 0.57s (± 1.02%) 0.57s (± 1.01%) +0.00s (+ 0.53%) 0.56s 0.58s
Check Time 6.70s (± 0.40%) 6.73s (± 0.65%) +0.03s (+ 0.45%) 6.60s 6.80s
Emit Time 2.48s (± 1.02%) 2.49s (± 0.70%) +0.01s (+ 0.28%) 2.45s 2.54s
Total Time 10.60s (± 0.39%) 10.63s (± 0.45%) +0.04s (+ 0.34%) 10.52s 10.74s
Monaco - node (v14.15.1, x64)
Memory used 325,687k (± 0.01%) 325,695k (± 0.01%) +8k (+ 0.00%) 325,655k 325,736k
Parse Time 1.58s (± 0.38%) 1.59s (± 0.61%) +0.01s (+ 0.95%) 1.57s 1.61s
Bind Time 0.79s (± 1.59%) 0.79s (± 0.66%) +0.00s (+ 0.38%) 0.78s 0.80s
Check Time 5.66s (± 0.50%) 5.71s (± 0.35%) +0.06s (+ 1.03%) 5.68s 5.76s
Emit Time 3.34s (± 0.82%) 3.37s (± 0.57%) +0.03s (+ 0.90%) 3.32s 3.42s
Total Time 11.37s (± 0.39%) 11.47s (± 0.29%) +0.10s (+ 0.89%) 11.39s 11.56s
TFS - node (v14.15.1, x64)
Memory used 288,842k (± 0.01%) 288,823k (± 0.01%) -20k (- 0.01%) 288,773k 288,884k
Parse Time 1.33s (± 1.99%) 1.35s (± 1.39%) +0.02s (+ 1.58%) 1.32s 1.41s
Bind Time 0.77s (± 4.36%) 0.75s (± 2.23%) -0.02s (- 2.72%) 0.73s 0.80s
Check Time 5.37s (± 0.58%) 5.36s (± 0.62%) -0.01s (- 0.22%) 5.28s 5.43s
Emit Time 3.56s (± 1.57%) 3.55s (± 2.36%) -0.01s (- 0.22%) 3.42s 3.72s
Total Time 11.03s (± 0.57%) 11.01s (± 1.00%) -0.02s (- 0.17%) 10.79s 11.27s
material-ui - node (v14.15.1, x64)
Memory used 446,764k (± 0.01%) 446,710k (± 0.03%) -54k (- 0.01%) 446,106k 446,813k
Parse Time 1.88s (± 0.47%) 1.87s (± 0.59%) -0.01s (- 0.48%) 1.85s 1.90s
Bind Time 0.72s (± 1.01%) 0.72s (± 1.42%) +0.00s (+ 0.14%) 0.70s 0.73s
Check Time 13.18s (± 0.37%) 13.23s (± 0.74%) +0.05s (+ 0.38%) 13.05s 13.58s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.78s (± 0.33%) 15.82s (± 0.63%) +0.04s (+ 0.26%) 15.65s 16.18s
xstate - node (v14.15.1, x64)
Memory used 541,745k (± 0.01%) 541,734k (± 0.01%) -11k (- 0.00%) 541,651k 541,779k
Parse Time 2.60s (± 0.56%) 2.62s (± 0.42%) +0.02s (+ 0.58%) 2.59s 2.64s
Bind Time 1.16s (± 1.29%) 1.16s (± 0.96%) +0.00s (+ 0.09%) 1.13s 1.18s
Check Time 1.56s (± 0.65%) 1.56s (± 0.59%) +0.01s (+ 0.39%) 1.55s 1.59s
Emit Time 0.07s (± 4.66%) 0.07s (± 4.95%) +0.00s (+ 2.74%) 0.07s 0.08s
Total Time 5.39s (± 0.45%) 5.40s (± 0.37%) +0.01s (+ 0.22%) 5.36s 5.44s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v10.16.3, x64)
  • xstate - node (v12.1.0, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50154 10
Baseline main 10

TSServer

Comparison Report - main..50154
Metric main 50154 Delta Best Worst
Compiler-UnionsTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,451ms (± 0.38%) 1,458ms (± 0.59%) +6ms (+ 0.43%) 1,430ms 1,471ms
Req 2 - geterr 3,614ms (± 0.26%) 3,623ms (± 0.51%) +10ms (+ 0.27%) 3,584ms 3,670ms
Req 3 - references 277ms (± 1.64%) 274ms (± 0.59%) -3ms (- 1.05%) 270ms 277ms
Req 4 - navto 231ms (± 0.83%) 233ms (± 0.86%) +1ms (+ 0.48%) 230ms 239ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 68ms (± 8.55%) 69ms (± 7.27%) +1ms (+ 2.07%) 64ms 88ms
CompilerTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,555ms (± 0.47%) 1,559ms (± 0.47%) +5ms (+ 0.30%) 1,545ms 1,579ms
Req 2 - geterr 2,276ms (± 0.48%) 2,289ms (± 0.41%) +13ms (+ 0.55%) 2,267ms 2,314ms
Req 3 - references 296ms (± 0.79%) 300ms (± 1.55%) +4ms (+ 1.49%) 294ms 315ms
Req 4 - navto 236ms (± 1.84%) 241ms (± 1.54%) +5ms (+ 2.21%) 228ms 246ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 68ms (± 2.78%) 68ms (± 2.65%) -0ms (- 0.15%) 64ms 71ms
xstateTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 2,154ms (± 0.37%) 2,173ms (± 0.38%) +19ms (+ 0.87%) 2,157ms 2,188ms
Req 2 - geterr 774ms (± 0.35%) 776ms (± 0.96%) +2ms (+ 0.19%) 763ms 794ms
Req 3 - references 98ms (± 3.62%) 96ms (± 0.79%) -2ms (- 2.45%) 94ms 97ms
Req 4 - navto 251ms (± 1.02%) 255ms (± 1.09%) +3ms (+ 1.27%) 249ms 260ms
Req 5 - completionInfo count 3,244 (± 0.00%) 3,244 (± 0.00%) 0 ( 0.00%) 3,244 3,244
Req 5 - completionInfo 267ms (± 1.11%) 273ms (± 0.97%) +6ms (+ 2.28%) 268ms 282ms
Compiler-UnionsTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,484ms (± 0.81%) 1,485ms (± 0.64%) +1ms (+ 0.05%) 1,467ms 1,506ms
Req 2 - geterr 3,399ms (± 0.85%) 3,410ms (± 0.67%) +10ms (+ 0.31%) 3,347ms 3,443ms
Req 3 - references 265ms (± 1.06%) 264ms (± 1.01%) -1ms (- 0.49%) 257ms 270ms
Req 4 - navto 204ms (± 1.02%) 204ms (± 0.76%) -0ms (- 0.05%) 200ms 207ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 74ms (±13.92%) 74ms (±12.24%) -1ms (- 1.21%) 58ms 95ms
CompilerTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,565ms (± 0.65%) 1,576ms (± 0.53%) +12ms (+ 0.73%) 1,556ms 1,594ms
Req 2 - geterr 2,207ms (± 0.63%) 2,217ms (± 0.44%) +11ms (+ 0.48%) 2,200ms 2,241ms
Req 3 - references 271ms (± 0.54%) 274ms (± 1.28%) +2ms (+ 0.88%) 268ms 285ms
Req 4 - navto 215ms (± 0.87%) 215ms (± 1.16%) -1ms (- 0.28%) 210ms 222ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 61ms (± 5.52%) 61ms (± 5.00%) +0ms (+ 0.49%) 54ms 66ms
xstateTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 2,093ms (± 0.46%) 2,110ms (± 0.63%) +17ms (+ 0.79%) 2,088ms 2,134ms
Req 2 - geterr 767ms (± 0.54%) 762ms (± 0.45%) -5ms (- 0.59%) 756ms 770ms
Req 3 - references 65ms (± 1.69%) 66ms (± 0.55%) +1ms (+ 1.68%) 66ms 67ms
Req 4 - navto 240ms (± 1.61%) 240ms (± 0.90%) -0ms (- 0.08%) 235ms 245ms
Req 5 - completionInfo count 3,244 (± 0.00%) 3,244 (± 0.00%) 0 ( 0.00%) 3,244 3,244
Req 5 - completionInfo 261ms (± 0.99%) 261ms (± 0.25%) -0ms (- 0.08%) 260ms 262ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,521ms (± 0.24%) 1,526ms (± 0.35%) +5ms (+ 0.36%) 1,513ms 1,536ms
Req 2 - geterr 3,541ms (± 0.67%) 3,531ms (± 0.66%) -9ms (- 0.27%) 3,483ms 3,592ms
Req 3 - references 276ms (± 0.62%) 276ms (± 0.41%) -0ms (- 0.04%) 274ms 278ms
Req 4 - navto 220ms (± 0.92%) 220ms (± 0.78%) 0ms ( 0.00%) 217ms 224ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 58ms (± 6.19%) 56ms (± 4.83%) 🟩-2ms (- 3.60%) 54ms 67ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,601ms (± 0.54%) 1,606ms (± 0.66%) +5ms (+ 0.31%) 1,587ms 1,627ms
Req 2 - geterr 2,335ms (± 0.53%) 2,344ms (± 0.38%) +9ms (+ 0.37%) 2,324ms 2,364ms
Req 3 - references 288ms (± 1.33%) 285ms (± 0.70%) -3ms (- 1.04%) 281ms 289ms
Req 4 - navto 230ms (± 1.51%) 230ms (± 0.57%) -0ms (- 0.04%) 227ms 233ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 53ms (± 0.75%) 53ms (± 0.64%) +0ms (+ 0.38%) 53ms 54ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,227ms (± 0.33%) 2,237ms (± 0.54%) +11ms (+ 0.48%) 2,214ms 2,265ms
Req 2 - geterr 774ms (± 0.25%) 779ms (± 0.42%) +5ms (+ 0.66%) 773ms 789ms
Req 3 - references 64ms (± 1.08%) 64ms (± 1.04%) +1ms (+ 1.26%) 63ms 66ms
Req 4 - navto 251ms (± 0.67%) 251ms (± 0.56%) +0ms (+ 0.08%) 249ms 255ms
Req 5 - completionInfo count 3,244 (± 0.00%) 3,244 (± 0.00%) 0 ( 0.00%) 3,244 3,244
Req 5 - completionInfo 265ms (± 0.48%) 264ms (± 0.48%) -1ms (- 0.38%) 260ms 267ms
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v10.16.3, x64)
  • Compiler-UnionsTSServer - node (v12.1.0, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v10.16.3, x64)
  • CompilerTSServer - node (v12.1.0, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v10.16.3, x64)
  • xstateTSServer - node (v12.1.0, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50154 10
Baseline main 10

Developer Information:

Download Benchmark

@jakebailey
Copy link
Member Author

Uh hmm, I guess it's slower? Am I misreading the results?

@amcasey
Copy link
Member

amcasey commented Aug 3, 2022

Uh hmm, I guess it's slower? Am I misreading the results?

Looks like noise to me - I'd run it again.

@jakebailey
Copy link
Member Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Aug 3, 2022

Heya @jakebailey, I've started to run the perf test suite on this PR at ec51f12. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..50154
Metric main 50154 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 360,343k (± 0.02%) 360,402k (± 0.03%) +59k (+ 0.02%) 360,162k 360,596k
Parse Time 2.10s (± 0.59%) 2.10s (± 0.56%) +0.00s (+ 0.05%) 2.08s 2.12s
Bind Time 0.90s (± 0.77%) 0.89s (± 0.93%) -0.00s (- 0.00%) 0.87s 0.91s
Check Time 6.02s (± 0.37%) 6.04s (± 0.45%) +0.02s (+ 0.30%) 6.00s 6.10s
Emit Time 6.18s (± 0.93%) 6.13s (± 0.80%) -0.05s (- 0.81%) 6.02s 6.24s
Total Time 15.19s (± 0.49%) 15.17s (± 0.49%) -0.03s (- 0.19%) 15.00s 15.38s
Compiler-Unions - node (v10.16.3, x64)
Memory used 206,982k (± 0.03%) 206,912k (± 0.05%) -71k (- 0.03%) 206,666k 207,155k
Parse Time 0.83s (± 0.90%) 0.83s (± 1.57%) -0.01s (- 0.84%) 0.80s 0.85s
Bind Time 0.53s (± 1.71%) 0.53s (± 1.66%) -0.00s (- 0.19%) 0.52s 0.55s
Check Time 7.17s (± 0.77%) 7.18s (± 0.45%) +0.00s (+ 0.03%) 7.13s 7.25s
Emit Time 2.50s (± 1.42%) 2.51s (± 0.79%) +0.02s (+ 0.68%) 2.48s 2.55s
Total Time 11.04s (± 0.71%) 11.05s (± 0.35%) +0.01s (+ 0.07%) 10.95s 11.12s
Monaco - node (v10.16.3, x64)
Memory used 343,941k (± 0.02%) 343,931k (± 0.01%) -10k (- 0.00%) 343,840k 344,007k
Parse Time 1.61s (± 0.76%) 1.61s (± 0.62%) -0.00s (- 0.12%) 1.59s 1.63s
Bind Time 0.76s (± 1.41%) 0.76s (± 0.53%) +0.00s (+ 0.26%) 0.75s 0.77s
Check Time 6.01s (± 0.42%) 6.02s (± 0.48%) +0.01s (+ 0.20%) 5.96s 6.09s
Emit Time 3.26s (± 0.50%) 3.29s (± 0.87%) +0.03s (+ 0.86%) 3.23s 3.35s
Total Time 11.63s (± 0.31%) 11.67s (± 0.43%) +0.04s (+ 0.34%) 11.61s 11.82s
TFS - node (v10.16.3, x64)
Memory used 305,196k (± 0.02%) 305,226k (± 0.03%) +30k (+ 0.01%) 305,017k 305,388k
Parse Time 1.29s (± 0.60%) 1.29s (± 0.82%) +0.01s (+ 0.47%) 1.27s 1.32s
Bind Time 0.72s (± 0.97%) 0.72s (± 0.66%) +0.00s (+ 0.56%) 0.71s 0.73s
Check Time 5.44s (± 0.40%) 5.43s (± 0.44%) -0.01s (- 0.18%) 5.37s 5.46s
Emit Time 3.42s (± 0.55%) 3.44s (± 1.17%) +0.02s (+ 0.73%) 3.32s 3.51s
Total Time 10.87s (± 0.25%) 10.88s (± 0.46%) +0.02s (+ 0.16%) 10.78s 10.98s
material-ui - node (v10.16.3, x64)
Memory used 469,481k (± 0.00%) 469,508k (± 0.01%) +27k (+ 0.01%) 469,388k 469,637k
Parse Time 1.84s (± 0.65%) 1.84s (± 0.65%) +0.00s (+ 0.27%) 1.81s 1.86s
Bind Time 0.69s (± 1.30%) 0.68s (± 1.87%) -0.00s (- 0.58%) 0.66s 0.71s
Check Time 14.66s (± 0.65%) 14.66s (± 0.53%) +0.00s (+ 0.01%) 14.49s 14.84s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 17.19s (± 0.58%) 17.19s (± 0.48%) +0.00s (+ 0.03%) 17.01s 17.38s
xstate - node (v10.16.3, x64)
Memory used 578,515k (± 0.02%) 578,431k (± 0.01%) -84k (- 0.01%) 578,289k 578,657k
Parse Time 2.61s (± 0.33%) 2.61s (± 0.41%) +0.00s (+ 0.04%) 2.58s 2.63s
Bind Time 1.03s (± 0.78%) 1.03s (± 0.54%) 0.00s ( 0.00%) 1.01s 1.04s
Check Time 1.57s (± 0.54%) 1.57s (± 0.63%) -0.00s (- 0.06%) 1.55s 1.59s
Emit Time 0.07s (± 0.00%) 0.07s (± 3.14%) +0.00s (+ 1.43%) 0.07s 0.08s
Total Time 5.28s (± 0.27%) 5.27s (± 0.26%) -0.01s (- 0.15%) 5.24s 5.30s
Angular - node (v12.1.0, x64)
Memory used 337,808k (± 0.09%) 337,954k (± 0.02%) +147k (+ 0.04%) 337,840k 338,101k
Parse Time 2.08s (± 0.55%) 2.09s (± 0.51%) +0.01s (+ 0.38%) 2.06s 2.11s
Bind Time 0.86s (± 1.19%) 0.86s (± 0.55%) -0.00s (- 0.46%) 0.85s 0.87s
Check Time 5.86s (± 0.97%) 5.84s (± 0.21%) -0.02s (- 0.39%) 5.82s 5.88s
Emit Time 6.38s (± 0.36%) 6.40s (± 0.71%) +0.02s (+ 0.31%) 6.33s 6.55s
Total Time 15.19s (± 0.47%) 15.19s (± 0.39%) +0.00s (+ 0.01%) 15.11s 15.40s
Compiler-Unions - node (v12.1.0, x64)
Memory used 194,623k (± 0.04%) 194,568k (± 0.04%) -56k (- 0.03%) 194,424k 194,719k
Parse Time 0.82s (± 0.54%) 0.83s (± 1.14%) +0.01s (+ 0.61%) 0.82s 0.86s
Bind Time 0.55s (± 0.90%) 0.54s (± 1.25%) -0.00s (- 0.37%) 0.53s 0.56s
Check Time 6.70s (± 0.71%) 6.71s (± 0.60%) +0.01s (+ 0.15%) 6.59s 6.79s
Emit Time 2.52s (± 0.89%) 2.53s (± 0.49%) +0.00s (+ 0.12%) 2.50s 2.55s
Total Time 10.59s (± 0.52%) 10.61s (± 0.45%) +0.02s (+ 0.16%) 10.48s 10.72s
Monaco - node (v12.1.0, x64)
Memory used 326,875k (± 0.02%) 326,847k (± 0.02%) -28k (- 0.01%) 326,722k 327,036k
Parse Time 1.58s (± 0.60%) 1.59s (± 0.74%) +0.01s (+ 0.95%) 1.57s 1.62s
Bind Time 0.74s (± 0.87%) 0.75s (± 0.64%) +0.01s (+ 0.67%) 0.74s 0.76s
Check Time 5.81s (± 0.51%) 5.84s (± 0.43%) +0.03s (+ 0.45%) 5.79s 5.89s
Emit Time 3.29s (± 0.64%) 3.32s (± 1.01%) +0.02s (+ 0.73%) 3.25s 3.39s
Total Time 11.42s (± 0.42%) 11.49s (± 0.50%) +0.07s (+ 0.58%) 11.37s 11.61s
TFS - node (v12.1.0, x64)
Memory used 289,829k (± 0.01%) 289,747k (± 0.06%) -82k (- 0.03%) 289,053k 289,936k
Parse Time 1.30s (± 0.88%) 1.31s (± 1.08%) +0.01s (+ 0.92%) 1.29s 1.35s
Bind Time 0.72s (± 1.03%) 0.72s (± 1.04%) -0.00s (- 0.42%) 0.70s 0.74s
Check Time 5.37s (± 0.39%) 5.36s (± 0.64%) -0.01s (- 0.17%) 5.29s 5.46s
Emit Time 3.53s (± 0.73%) 3.53s (± 1.13%) +0.00s (+ 0.09%) 3.46s 3.64s
Total Time 10.92s (± 0.41%) 10.92s (± 0.53%) +0.00s (+ 0.01%) 10.80s 11.03s
material-ui - node (v12.1.0, x64)
Memory used 448,591k (± 0.01%) 448,459k (± 0.07%) -132k (- 0.03%) 447,297k 448,831k
Parse Time 1.82s (± 0.58%) 1.83s (± 0.65%) +0.01s (+ 0.49%) 1.80s 1.86s
Bind Time 0.67s (± 0.50%) 0.68s (± 1.39%) +0.01s (+ 1.04%) 0.66s 0.70s
Check Time 13.03s (± 0.36%) 13.17s (± 0.77%) +0.15s (+ 1.12%) 12.99s 13.51s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.52s (± 0.29%) 15.69s (± 0.70%) +0.17s (+ 1.07%) 15.49s 16.05s
xstate - node (v12.1.0, x64)
Memory used 543,878k (± 0.01%) 547,168k (± 1.33%) +3,290k (+ 0.60%) 543,788k 576,638k
Parse Time 2.56s (± 0.49%) 2.55s (± 0.27%) -0.01s (- 0.23%) 2.53s 2.56s
Bind Time 1.03s (± 1.24%) 1.03s (± 0.99%) +0.00s (+ 0.29%) 1.00s 1.05s
Check Time 1.51s (± 0.46%) 1.51s (± 0.33%) -0.00s (- 0.33%) 1.50s 1.52s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.17s (± 0.49%) 5.16s (± 0.16%) -0.00s (- 0.08%) 5.14s 5.18s
Angular - node (v14.15.1, x64)
Memory used 336,145k (± 0.01%) 336,138k (± 0.01%) -7k (- 0.00%) 336,069k 336,215k
Parse Time 2.07s (± 0.50%) 2.07s (± 0.48%) +0.00s (+ 0.00%) 2.05s 2.09s
Bind Time 0.90s (± 0.53%) 0.90s (± 0.66%) -0.00s (- 0.11%) 0.89s 0.91s
Check Time 5.83s (± 0.63%) 5.84s (± 0.69%) +0.02s (+ 0.27%) 5.75s 5.92s
Emit Time 6.36s (± 0.60%) 6.39s (± 0.74%) +0.03s (+ 0.46%) 6.29s 6.50s
Total Time 15.15s (± 0.44%) 15.20s (± 0.56%) +0.05s (+ 0.30%) 14.99s 15.38s
Compiler-Unions - node (v14.15.1, x64)
Memory used 193,182k (± 0.02%) 193,156k (± 0.02%) -27k (- 0.01%) 193,077k 193,233k
Parse Time 0.85s (± 0.65%) 0.86s (± 1.04%) +0.00s (+ 0.47%) 0.84s 0.88s
Bind Time 0.57s (± 1.02%) 0.57s (± 0.78%) +0.00s (+ 0.18%) 0.56s 0.58s
Check Time 6.70s (± 0.40%) 6.73s (± 0.53%) +0.03s (+ 0.45%) 6.63s 6.80s
Emit Time 2.48s (± 1.02%) 2.48s (± 0.55%) +0.00s (+ 0.04%) 2.45s 2.51s
Total Time 10.60s (± 0.39%) 10.63s (± 0.38%) +0.04s (+ 0.34%) 10.53s 10.72s
Monaco - node (v14.15.1, x64)
Memory used 325,687k (± 0.01%) 325,690k (± 0.00%) +3k (+ 0.00%) 325,664k 325,732k
Parse Time 1.58s (± 0.38%) 1.58s (± 0.92%) +0.01s (+ 0.51%) 1.56s 1.62s
Bind Time 0.79s (± 1.59%) 0.78s (± 0.67%) -0.00s (- 0.64%) 0.77s 0.79s
Check Time 5.66s (± 0.50%) 5.69s (± 0.61%) +0.04s (+ 0.64%) 5.60s 5.75s
Emit Time 3.34s (± 0.82%) 3.38s (± 0.70%) +0.03s (+ 0.99%) 3.32s 3.44s
Total Time 11.37s (± 0.39%) 11.43s (± 0.44%) +0.06s (+ 0.55%) 11.32s 11.55s
TFS - node (v14.15.1, x64)
Memory used 288,842k (± 0.01%) 288,837k (± 0.01%) -5k (- 0.00%) 288,800k 288,880k
Parse Time 1.33s (± 1.99%) 1.33s (± 1.71%) +0.00s (+ 0.23%) 1.29s 1.38s
Bind Time 0.77s (± 4.36%) 0.76s (± 4.57%) -0.01s (- 1.17%) 0.73s 0.86s
Check Time 5.37s (± 0.58%) 5.37s (± 0.56%) -0.01s (- 0.15%) 5.31s 5.46s
Emit Time 3.56s (± 1.57%) 3.59s (± 2.15%) +0.04s (+ 1.10%) 3.45s 3.75s
Total Time 11.03s (± 0.57%) 11.06s (± 0.97%) +0.03s (+ 0.25%) 10.89s 11.31s
material-ui - node (v14.15.1, x64)
Memory used 446,764k (± 0.01%) 446,798k (± 0.01%) +34k (+ 0.01%) 446,723k 446,877k
Parse Time 1.88s (± 0.47%) 1.87s (± 0.59%) -0.01s (- 0.48%) 1.86s 1.91s
Bind Time 0.72s (± 1.01%) 0.72s (± 1.28%) +0.00s (+ 0.56%) 0.70s 0.74s
Check Time 13.18s (± 0.37%) 13.17s (± 0.49%) -0.01s (- 0.08%) 13.04s 13.31s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.78s (± 0.33%) 15.77s (± 0.46%) -0.02s (- 0.10%) 15.63s 15.93s
xstate - node (v14.15.1, x64)
Memory used 541,745k (± 0.01%) 541,759k (± 0.00%) +14k (+ 0.00%) 541,716k 541,803k
Parse Time 2.60s (± 0.56%) 2.62s (± 0.60%) +0.02s (+ 0.58%) 2.59s 2.66s
Bind Time 1.16s (± 1.29%) 1.15s (± 1.19%) -0.00s (- 0.17%) 1.13s 1.19s
Check Time 1.56s (± 0.65%) 1.56s (± 0.71%) +0.01s (+ 0.51%) 1.54s 1.59s
Emit Time 0.07s (± 4.66%) 0.07s (± 4.66%) 0.00s ( 0.00%) 0.07s 0.08s
Total Time 5.39s (± 0.45%) 5.40s (± 0.44%) +0.01s (+ 0.24%) 5.35s 5.45s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v10.16.3, x64)
  • xstate - node (v12.1.0, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50154 10
Baseline main 10

TSServer

Comparison Report - main..50154
Metric main 50154 Delta Best Worst
Compiler-UnionsTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,451ms (± 0.38%) 1,455ms (± 0.50%) +3ms (+ 0.22%) 1,441ms 1,476ms
Req 2 - geterr 3,614ms (± 0.26%) 3,613ms (± 0.63%) -1ms (- 0.01%) 3,564ms 3,663ms
Req 3 - references 277ms (± 1.64%) 275ms (± 0.75%) -2ms (- 0.69%) 271ms 280ms
Req 4 - navto 231ms (± 0.83%) 231ms (± 0.58%) -0ms (- 0.17%) 228ms 235ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 68ms (± 8.55%) 66ms (± 3.68%) -1ms (- 1.93%) 62ms 70ms
CompilerTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 1,555ms (± 0.47%) 1,556ms (± 0.51%) +1ms (+ 0.08%) 1,538ms 1,572ms
Req 2 - geterr 2,276ms (± 0.48%) 2,277ms (± 0.56%) +1ms (+ 0.03%) 2,240ms 2,305ms
Req 3 - references 296ms (± 0.79%) 300ms (± 1.51%) +4ms (+ 1.28%) 290ms 310ms
Req 4 - navto 236ms (± 1.84%) 238ms (± 1.89%) +3ms (+ 1.06%) 228ms 245ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 68ms (± 2.78%) 68ms (± 2.91%) -0ms (- 0.15%) 62ms 70ms
xstateTSServer - node (v10.16.3, x64)
Req 1 - updateOpen 2,154ms (± 0.37%) 2,161ms (± 0.39%) +7ms (+ 0.32%) 2,145ms 2,178ms
Req 2 - geterr 774ms (± 0.35%) 774ms (± 0.30%) -1ms (- 0.09%) 767ms 778ms
Req 3 - references 98ms (± 3.62%) 95ms (± 1.10%) 🟩-3ms (- 3.27%) 93ms 97ms
Req 4 - navto 251ms (± 1.02%) 253ms (± 0.81%) +2ms (+ 0.80%) 249ms 258ms
Req 5 - completionInfo count 3,244 (± 0.00%) 3,244 (± 0.00%) 0 ( 0.00%) 3,244 3,244
Req 5 - completionInfo 267ms (± 1.11%) 269ms (± 1.37%) +2ms (+ 0.79%) 259ms 275ms
Compiler-UnionsTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,484ms (± 0.81%) 1,484ms (± 0.62%) +0ms (+ 0.02%) 1,469ms 1,510ms
Req 2 - geterr 3,399ms (± 0.85%) 3,373ms (± 0.54%) -26ms (- 0.76%) 3,334ms 3,414ms
Req 3 - references 265ms (± 1.06%) 263ms (± 0.47%) -3ms (- 0.98%) 260ms 265ms
Req 4 - navto 204ms (± 1.02%) 203ms (± 0.79%) -2ms (- 0.73%) 200ms 207ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 74ms (±13.92%) 75ms (±13.43%) +0ms (+ 0.13%) 60ms 94ms
CompilerTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 1,565ms (± 0.65%) 1,562ms (± 0.42%) -3ms (- 0.20%) 1,541ms 1,573ms
Req 2 - geterr 2,207ms (± 0.63%) 2,217ms (± 0.42%) +11ms (+ 0.48%) 2,195ms 2,236ms
Req 3 - references 271ms (± 0.54%) 273ms (± 1.08%) +2ms (+ 0.66%) 268ms 282ms
Req 4 - navto 215ms (± 0.87%) 214ms (± 0.97%) -2ms (- 0.74%) 210ms 220ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 61ms (± 5.52%) 62ms (± 5.95%) +1ms (+ 0.99%) 53ms 68ms
xstateTSServer - node (v12.1.0, x64)
Req 1 - updateOpen 2,093ms (± 0.46%) 2,100ms (± 0.49%) +7ms (+ 0.32%) 2,069ms 2,123ms
Req 2 - geterr 767ms (± 0.54%) 762ms (± 0.52%) -5ms (- 0.67%) 750ms 770ms
Req 3 - references 65ms (± 1.69%) 66ms (± 1.60%) +0ms (+ 0.61%) 63ms 68ms
Req 4 - navto 240ms (± 1.61%) 239ms (± 1.63%) -1ms (- 0.29%) 228ms 248ms
Req 5 - completionInfo count 3,244 (± 0.00%) 3,244 (± 0.00%) 0 ( 0.00%) 3,244 3,244
Req 5 - completionInfo 261ms (± 0.99%) 261ms (± 0.88%) -0ms (- 0.11%) 257ms 267ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,521ms (± 0.24%) 1,530ms (± 0.51%) +10ms (+ 0.62%) 1,513ms 1,543ms
Req 2 - geterr 3,541ms (± 0.67%) 3,534ms (± 0.71%) -7ms (- 0.18%) 3,501ms 3,614ms
Req 3 - references 276ms (± 0.62%) 277ms (± 0.49%) +1ms (+ 0.36%) 275ms 280ms
Req 4 - navto 220ms (± 0.92%) 221ms (± 0.69%) +0ms (+ 0.14%) 217ms 224ms
Req 5 - completionInfo count 1,355 (± 0.00%) 1,355 (± 0.00%) 0 ( 0.00%) 1,355 1,355
Req 5 - completionInfo 58ms (± 6.19%) 56ms (± 3.71%) 🟩-3ms (- 4.29%) 54ms 64ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 1,601ms (± 0.54%) 1,601ms (± 0.51%) +0ms (+ 0.02%) 1,581ms 1,617ms
Req 2 - geterr 2,335ms (± 0.53%) 2,328ms (± 0.38%) -8ms (- 0.33%) 2,311ms 2,347ms
Req 3 - references 288ms (± 1.33%) 286ms (± 0.64%) -2ms (- 0.73%) 283ms 291ms
Req 4 - navto 230ms (± 1.51%) 232ms (± 2.32%) +2ms (+ 0.65%) 226ms 246ms
Req 5 - completionInfo count 1,517 (± 0.00%) 1,517 (± 0.00%) 0 ( 0.00%) 1,517 1,517
Req 5 - completionInfo 53ms (± 0.75%) 53ms (± 0.71%) -1ms (- 1.13%) 52ms 53ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,227ms (± 0.33%) 2,221ms (± 0.40%) -6ms (- 0.27%) 2,204ms 2,242ms
Req 2 - geterr 774ms (± 0.25%) 775ms (± 0.54%) +1ms (+ 0.13%) 769ms 788ms
Req 3 - references 64ms (± 1.08%) 64ms (± 0.74%) +1ms (+ 1.26%) 63ms 65ms
Req 4 - navto 251ms (± 0.67%) 251ms (± 0.63%) -0ms (- 0.08%) 247ms 254ms
Req 5 - completionInfo count 3,244 (± 0.00%) 3,244 (± 0.00%) 0 ( 0.00%) 3,244 3,244
Req 5 - completionInfo 265ms (± 0.48%) 263ms (± 0.56%) -2ms (- 0.87%) 259ms 267ms
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v10.16.3, x64)
  • Compiler-UnionsTSServer - node (v12.1.0, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v10.16.3, x64)
  • CompilerTSServer - node (v12.1.0, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v10.16.3, x64)
  • xstateTSServer - node (v12.1.0, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 50154 10
Baseline main 10

Developer Information:

Download Benchmark

@amcasey
Copy link
Member

amcasey commented Aug 3, 2022

I'd call that a wash. The change still has hygiene value, but I might wait until 4.9.

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented Aug 3, 2022

Ideally you'll see no change because the perf tests all run on Linux and theoretically should have no \ characters in paths. 😅😩

@jakebailey
Copy link
Member Author

You're right. I guess I don't know what to do about that one.

@amcasey
Copy link
Member

amcasey commented Aug 3, 2022

Ideally you'll see no change because the perf tests all run on Linux and theoretically should have no \ characters in paths. 😅😩

I think we actually have a bug about that: Linux paths can contain \ so normalizeSlashes could break them.

@jakebailey
Copy link
Member Author

Yep, #44174. Though I'm a little apprehensive about that one just because of cross-platform configuration.

@jakebailey jakebailey added this to the TypeScript 4.9.0 milestone Aug 3, 2022
@jakebailey
Copy link
Member Author

I'll wait for us to cut 4.8 before merging this, just in case.

@jakebailey jakebailey merged commit 7f1dc78 into microsoft:main Aug 10, 2022
@jakebailey jakebailey deleted the normalize-slashes-1 branch October 20, 2022 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants