Skip to content
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

Remove stableSort, rename sort to toSorted #55728

Merged
merged 12 commits into from
Jul 24, 2024

Conversation

jakebailey
Copy link
Member

@jakebailey jakebailey commented Sep 13, 2023

See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#sort_stability

Also, toSorted seems to be sightly slower than arr.slice().sort(); was hoping to also rename sort to toSorted and conditionally use it, but probably not worth it yet.

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

@typescript-bot perf test this faster
@typescript-bot perf test this bun

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 13, 2023

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 13, 2023

Heya @jakebailey, I've started to run the tsc-only perf test suite on this PR at 3cd2a41. 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 - baseline..pr
Metric baseline pr Delta Best Worst p-value
Angular - bun (v1.0.0, x64)
Memory used 321,872k (± 0.11%) 321,883k (± 0.07%) ~ 321,430k 322,514k p=0.885 n=12
Parse Time 2.33s (± 0.23%) 2.33s (± 0.37%) ~ 2.32s 2.37s p=0.976 n=12
Bind Time 0.91s (± 1.45%) 0.91s (± 1.32%) ~ 0.88s 0.94s p=0.521 n=12
Check Time 8.04s (± 0.41%) 8.06s (± 0.49%) ~ 7.92s 8.15s p=0.370 n=12
Emit Time 6.42s (± 0.39%) 6.43s (± 0.38%) ~ 6.36s 6.49s p=0.977 n=12
Total Time 17.70s (± 0.26%) 17.73s (± 0.23%) ~ 17.63s 17.85s p=0.523 n=12
Compiler-Unions - bun (v1.0.0, x64)
Memory used 254,928k (± 0.13%) 255,797k (± 0.58%) ~ 254,128k 262,559k p=0.707 n=12
Parse Time 1.26s (± 0.45%) 1.26s (± 0.70%) ~ 1.25s 1.29s p=0.217 n=12
Bind Time 0.85s (± 0.80%) 0.85s (± 1.02%) ~ 0.83s 0.87s p=0.611 n=12
Check Time 8.96s (± 0.34%) 8.92s (± 0.39%) ~ 8.87s 9.08s p=0.055 n=12
Emit Time 2.80s (± 0.48%) 2.80s (± 0.55%) ~ 2.77s 2.83s p=0.977 n=12
Total Time 13.86s (± 0.23%) 13.83s (± 0.36%) ~ 13.74s 14.04s p=0.087 n=12
Monaco - bun (v1.0.0, x64)
Memory used 369,753k (± 0.14%) 370,107k (± 0.21%) ~ 368,908k 372,134k p=0.977 n=12
Parse Time 2.05s (± 0.19%) 2.05s (± 0.23%) ~ 2.04s 2.06s p=0.949 n=12
Bind Time 1.09s (± 1.65%) 1.10s (± 1.32%) ~ 1.06s 1.14s p=0.367 n=12
Check Time 7.20s (± 0.34%) 7.20s (± 0.36%) ~ 7.11s 7.27s p=0.907 n=12
Emit Time 3.75s (± 1.15%) 3.78s (± 0.74%) ~ 3.72s 3.89s p=0.124 n=12
Total Time 14.09s (± 0.33%) 14.13s (± 0.27%) ~ 14.05s 14.24s p=0.353 n=12
TFS - bun (v1.0.0, x64)
Memory used 318,399k (± 0.15%) 318,229k (± 0.22%) ~ 316,540k 319,979k p=0.931 n=12
Parse Time 1.80s (± 0.51%) 1.79s (± 0.38%) ~ 1.78s 1.82s p=1.000 n=12
Bind Time 0.99s (± 1.13%) 1.00s (± 1.35%) ~ 0.97s 1.05s p=0.930 n=12
Check Time 6.59s (± 0.29%) 6.57s (± 0.21%) ~ 6.54s 6.61s p=0.137 n=12
Emit Time 3.45s (± 0.50%) 3.45s (± 0.84%) ~ 3.39s 3.53s p=0.816 n=12
Total Time 12.83s (± 0.23%) 12.82s (± 0.26%) ~ 12.76s 12.90s p=0.582 n=12
material-ui - bun (v1.0.0, x64)
Memory used 530,913k (± 0.53%) 533,169k (± 0.56%) ~ 523,872k 537,775k p=0.175 n=12
Parse Time 2.48s (± 0.81%) 2.49s (± 0.48%) ~ 2.46s 2.52s p=0.427 n=12
Bind Time 0.71s (± 0.57%) 0.71s (± 0.70%) ~ 0.70s 0.73s p=0.899 n=12
Check Time 15.85s (± 0.43%) 15.90s (± 0.46%) ~ 15.69s 16.14s p=0.435 n=12
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=12
Total Time 19.04s (± 0.38%) 19.10s (± 0.37%) ~ 18.93s 19.33s p=0.370 n=12
xstate - bun (v1.0.0, x64)
Memory used 476,001k (± 5.56%) 489,245k (± 4.82%) ~ 426,736k 512,153k p=0.885 n=12
Parse Time 3.63s (± 0.43%) 3.63s (± 0.65%) ~ 3.59s 3.70s p=0.977 n=12
Bind Time 1.39s (± 0.87%) 1.39s (± 0.47%) ~ 1.38s 1.41s p=0.614 n=12
Check Time 3.57s (± 0.56%) 3.57s (± 0.52%) ~ 3.52s 3.62s p=0.559 n=12
Emit Time 0.22s (± 5.72%) 0.23s (± 7.28%) ~ 0.20s 0.27s p=0.591 n=12
Total Time 8.80s (± 0.25%) 8.81s (± 0.39%) ~ 8.71s 8.92s p=0.190 n=12
System info unknown
Hosts
  • bun (v1.0.0, x64)
Scenarios
  • Angular - bun (v1.0.0, x64)
  • Compiler-Unions - bun (v1.0.0, x64)
  • Monaco - bun (v1.0.0, x64)
  • TFS - bun (v1.0.0, x64)
  • material-ui - bun (v1.0.0, x64)
  • xstate - bun (v1.0.0, x64)
Benchmark Name Iterations
Current pr 12
Baseline baseline 12

Startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - bun (v1.0.0, x64)
Execution time 429.28ms (± 0.09%) 428.70ms (± 0.09%) -0.58ms (- 0.13%) 427.03ms 437.23ms p=0.000 n=600
tsserverlibrary-startup - bun (v1.0.0, x64)
Execution time 666.44ms (± 0.52%) 665.74ms (± 0.12%) -0.70ms (- 0.11%) 664.11ms 685.11ms p=0.000 n=600
typescript-startup - bun (v1.0.0, x64)
Execution time 666.48ms (± 0.13%) 665.99ms (± 0.14%) -0.49ms (- 0.07%) 664.25ms 684.57ms p=0.000 n=600
System info unknown
Hosts
  • bun (v1.0.0, x64)
Scenarios
  • tsc-startup - bun (v1.0.0, x64)
  • tsserverlibrary-startup - bun (v1.0.0, x64)
  • typescript-startup - bun (v1.0.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Angular - node (v16.17.1, x64)
Memory used 300,266k (± 0.01%) 300,260k (± 0.01%) ~ 300,242k 300,287k p=0.748 n=6
Parse Time 3.01s (± 0.18%) 3.01s (± 0.25%) ~ 3.00s 3.02s p=0.476 n=6
Bind Time 0.93s (± 0.44%) 0.93s (± 0.44%) ~ 0.93s 0.94s p=1.000 n=6
Check Time 9.35s (± 0.47%) 9.33s (± 0.27%) ~ 9.29s 9.36s p=0.520 n=6
Emit Time 7.63s (± 0.27%) 7.64s (± 0.35%) ~ 7.59s 7.67s p=0.624 n=6
Total Time 20.92s (± 0.25%) 20.91s (± 0.20%) ~ 20.86s 20.98s p=0.809 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 193,918k (± 0.03%) 193,931k (± 0.04%) ~ 193,836k 194,002k p=0.689 n=6
Parse Time 1.58s (± 0.00%) 1.58s (± 0.00%) ~ 1.58s 1.58s p=1.000 n=6
Bind Time 0.80s (± 0.00%) 0.80s (± 0.51%) ~ 0.79s 0.80s p=0.405 n=6
Check Time 9.94s (± 0.42%) 9.89s (± 0.33%) -0.05s (- 0.55%) 9.84s 9.93s p=0.037 n=6
Emit Time 2.74s (± 0.30%) 2.74s (± 0.31%) ~ 2.72s 2.74s p=0.120 n=6
Total Time 15.06s (± 0.25%) 15.00s (± 0.27%) -0.06s (- 0.41%) 14.94s 15.05s p=0.030 n=6
Monaco - node (v16.17.1, x64)
Memory used 347,198k (± 0.01%) 347,200k (± 0.00%) ~ 347,192k 347,211k p=0.092 n=6
Parse Time 2.69s (± 0.28%) 2.69s (± 0.31%) ~ 2.68s 2.70s p=0.432 n=6
Bind Time 0.99s (± 0.41%) 0.99s (± 0.00%) ~ 0.99s 0.99s p=0.405 n=6
Check Time 7.94s (± 0.32%) 7.94s (± 0.32%) ~ 7.90s 7.97s p=1.000 n=6
Emit Time 4.26s (± 0.23%) 4.26s (± 0.19%) ~ 4.25s 4.27s p=0.394 n=6
Total Time 15.88s (± 0.16%) 15.87s (± 0.22%) ~ 15.83s 15.91s p=0.374 n=6
TFS - node (v16.17.1, x64)
Memory used 301,176k (± 0.00%) 301,171k (± 0.01%) ~ 301,147k 301,199k p=0.629 n=6
Parse Time 2.17s (± 0.69%) 2.18s (± 0.73%) ~ 2.16s 2.20s p=0.615 n=6
Bind Time 1.11s (± 0.46%) 1.11s (± 0.00%) ~ 1.11s 1.11s p=0.174 n=6
Check Time 7.24s (± 0.51%) 7.24s (± 0.23%) ~ 7.21s 7.25s p=0.935 n=6
Emit Time 3.98s (± 0.40%) 3.98s (± 0.20%) ~ 3.98s 4.00s p=0.491 n=6
Total Time 14.51s (± 0.30%) 14.51s (± 0.08%) ~ 14.49s 14.52s p=1.000 n=6
material-ui - node (v16.17.1, x64)
Memory used 479,549k (± 0.00%) 479,547k (± 0.00%) ~ 479,524k 479,579k p=0.873 n=6
Parse Time 3.15s (± 0.17%) 3.15s (± 0.16%) ~ 3.15s 3.16s p=0.640 n=6
Bind Time 0.91s (± 0.00%) 0.91s (± 0.45%) ~ 0.90s 0.91s p=0.405 n=6
Check Time 17.89s (± 0.29%) 17.88s (± 0.48%) ~ 17.75s 18.02s p=0.519 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 21.95s (± 0.23%) 21.94s (± 0.41%) ~ 21.81s 22.09s p=0.520 n=6
xstate - node (v16.17.1, x64)
Memory used 542,870k (± 0.01%) 542,883k (± 0.01%) ~ 542,778k 543,011k p=1.000 n=6
Parse Time 3.69s (± 0.27%) 3.69s (± 0.22%) ~ 3.68s 3.70s p=0.862 n=6
Bind Time 1.40s (± 4.72%) 1.44s (± 3.71%) ~ 1.33s 1.47s p=0.278 n=6
Check Time 3.24s (± 2.72%) 3.19s (± 2.26%) ~ 3.15s 3.34s p=0.505 n=6
Emit Time 0.08s (± 6.19%) 0.09s (± 6.44%) ~ 0.08s 0.09s p=0.640 n=6
Total Time 8.41s (± 0.38%) 8.41s (± 0.38%) ~ 8.38s 8.47s p=1.000 n=6
System info unknown
Hosts
  • node (v16.17.1, x64)
Scenarios
  • Angular - node (v16.17.1, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Monaco - node (v16.17.1, x64)
  • TFS - node (v16.17.1, x64)
  • material-ui - node (v16.17.1, x64)
  • xstate - node (v16.17.1, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@fatcerberus
Copy link

perf test this bun

yeah i'm sorry to tell you but your buns are performing poorly. they're probably overcooked so people hate them

@jakebailey jakebailey marked this pull request as draft September 15, 2023 17:26
@jakebailey jakebailey marked this pull request as ready for review September 15, 2023 20:33
src/compiler/core.ts Outdated Show resolved Hide resolved
@jakebailey jakebailey changed the title Remove stableSort, not needed as of ES2019 Remove stableSort, rename sort to toSorted Sep 18, 2023
@@ -835,7 835,7 @@ export function sortAndDeduplicate<T>(array: readonly string[]): SortedReadonlyA
export function sortAndDeduplicate<T>(array: readonly T[], comparer: Comparer<T>, equalityComparer?: EqualityComparer<T>): SortedReadonlyArray<T>;
/** @internal */
export function sortAndDeduplicate<T>(array: readonly T[], comparer?: Comparer<T>, equalityComparer?: EqualityComparer<T>): SortedReadonlyArray<T> {
return deduplicateSorted(sort(array, comparer), equalityComparer || comparer || compareStringsCaseSensitive as any as Comparer<T>);
return deduplicateSorted(toSorted(array, comparer), equalityComparer || comparer || compareStringsCaseSensitive as any as Comparer<T>);
Copy link
Member

Choose a reason for hiding this comment

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

I have always wondered, given deduplicateSorted used only by sortAndDeduplicate can we mark it to make readyOnly to ReadWrite array when length is not zero and work on that array itself instead of creating new array.

@jakebailey
Copy link
Member Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 19, 2024

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

Command Status Results
perf test this ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@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
Angular - node (v18.15.0, x64)
Memory used 295,737k (± 0.00%) 295,729k (± 0.01%) ~ 295,686k 295,746k p=0.810 n=6
Parse Time 2.66s (± 0.28%) 2.66s (± 0.21%) ~ 2.65s 2.66s p=0.137 n=6
Bind Time 0.83s (± 0.62%) 0.83s (± 1.25%) ~ 0.81s 0.84s p=0.928 n=6
Check Time 8.20s (± 0.34%) 8.21s (± 0.37%) ~ 8.17s 8.25s p=0.687 n=6
Emit Time 7.13s (± 0.30%) 7.13s (± 0.52%) ~ 7.10s 7.19s p=0.936 n=6
Total Time 18.82s (± 0.23%) 18.83s (± 0.28%) ~ 18.77s 18.92s p=0.872 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 193,867k (± 0.97%) 193,175k (± 0.94%) ~ 191,877k 195,580k p=0.230 n=6
Parse Time 1.36s (± 1.00%) 1.36s (± 0.72%) ~ 1.35s 1.37s p=0.557 n=6
Bind Time 0.72s (± 0.57%) 0.72s (± 0.00%) ~ 0.72s 0.72s p=0.405 n=6
Check Time 9.48s (± 0.42%) 9.54s (± 0.69%) ~ 9.46s 9.63s p=0.075 n=6
Emit Time 2.66s (± 0.61%) 2.65s (± 0.75%) ~ 2.61s 2.66s p=0.720 n=6
Total Time 14.22s (± 0.33%) 14.27s (± 0.53%) ~ 14.20s 14.39s p=0.261 n=6
Monaco - node (v18.15.0, x64)
Memory used 347,372k (± 0.00%) 347,377k (± 0.00%) ~ 347,363k 347,390k p=0.630 n=6
Parse Time 2.48s (± 0.42%) 2.48s (± 0.59%) ~ 2.45s 2.49s p=0.605 n=6
Bind Time 0.93s (± 0.56%) 0.92s (± 0.44%) ~ 0.92s 0.93s p=0.112 n=6
Check Time 7.02s (± 0.44%) 7.02s (± 0.66%) ~ 6.97s 7.10s p=0.936 n=6
Emit Time 4.06s (± 0.25%) 4.06s (± 0.21%) ~ 4.06s 4.08s p=0.788 n=6
Total Time 14.48s (± 0.21%) 14.49s (± 0.33%) ~ 14.44s 14.57s p=0.809 n=6
TFS - node (v18.15.0, x64)
Memory used 302,757k (± 0.01%) 302,738k (± 0.01%) ~ 302,712k 302,761k p=0.471 n=6
Parse Time 2.00s (± 0.52%) 2.01s (± 1.60%) ~ 1.96s 2.04s p=0.808 n=6
Bind Time 1.01s (± 1.19%) 1.00s (± 0.75%) ~ 0.99s 1.01s p=0.111 n=6
Check Time 6.32s (± 0.59%) 6.31s (± 0.29%) ~ 6.29s 6.34s p=0.683 n=6
Emit Time 3.61s (± 0.74%) 3.61s (± 0.33%) ~ 3.60s 3.63s p=0.934 n=6
Total Time 12.95s (± 0.45%) 12.94s (± 0.26%) ~ 12.90s 12.98s p=0.748 n=6
material-ui - node (v18.15.0, x64)
Memory used 511,378k (± 0.00%) 511,366k (± 0.01%) ~ 511,327k 511,411k p=0.196 n=6
Parse Time 2.65s (± 0.53%) 2.66s (± 0.34%) ~ 2.65s 2.67s p=0.215 n=6
Bind Time 0.99s (± 0.76%) 0.98s (± 1.93%) ~ 0.95s 1.00s p=0.457 n=6
Check Time 17.35s (± 0.51%) 17.34s (± 0.37%) ~ 17.29s 17.44s p=0.688 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 20.99s (± 0.40%) 20.99s (± 0.26%) ~ 20.94s 21.06s p=0.688 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,719,243k (± 0.00%) 1,719,226k (± 0.00%) ~ 1,719,153k 1,719,275k p=0.689 n=6
Parse Time 6.54s (± 0.45%) 6.52s (± 0.54%) ~ 6.49s 6.59s p=0.260 n=6
Bind Time 2.35s (± 0.79%) 2.35s (± 0.54%) ~ 2.34s 2.37s p=0.866 n=6
Check Time 56.17s (± 0.50%) 56.31s (± 0.74%) ~ 55.98s 57.00s p=0.470 n=6
Emit Time 0.13s (± 3.87%) 0.13s (± 0.00%) ~ 0.13s 0.13s p=0.174 n=6
Total Time 65.20s (± 0.45%) 65.31s (± 0.63%) ~ 64.97s 66.00s p=0.470 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,395,573k (± 0.02%) 2,393,901k (± 0.03%) -1,672k (- 0.07%) 2,392,627k 2,394,434k p=0.005 n=6
Parse Time 5.01s (± 0.56%) 5.00s (± 1.44%) ~ 4.90s 5.10s p=0.809 n=6
Bind Time 1.90s (± 0.98%) 1.89s (± 0.78%) ~ 1.88s 1.91s p=0.185 n=6
Check Time 33.50s (± 0.19%) 33.54s (± 0.33%) ~ 33.39s 33.70s p=0.689 n=6
Emit Time 2.70s (± 0.78%) 2.77s (± 1.14%) 0.07s ( 2.41%) 2.72s 2.81s p=0.005 n=6
Total Time 43.13s (± 0.16%) 43.22s (± 0.31%) ~ 43.01s 43.37s p=0.229 n=6
self-compiler - node (v18.15.0, x64)
Memory used 416,085k (± 0.00%) 415,472k (± 0.01%) -613k (- 0.15%) 415,444k 415,514k p=0.005 n=6
Parse Time 2.82s (± 0.53%) 2.83s (± 0.91%) ~ 2.80s 2.87s p=0.461 n=6
Bind Time 1.07s (± 0.70%) 1.07s (± 1.02%) ~ 1.05s 1.08s p=0.604 n=6
Check Time 15.32s (± 0.42%) 15.22s (± 0.54%) ~ 15.10s 15.31s p=0.092 n=6
Emit Time 1.15s (± 0.45%) 1.14s (± 0.86%) ~ 1.13s 1.15s p=0.417 n=6
Total Time 20.36s (± 0.36%) 20.27s (± 0.44%) ~ 20.12s 20.38s p=0.128 n=6
vscode - node (v18.15.0, x64)
Memory used 2,884,052k (± 0.00%) 2,884,072k (± 0.00%) ~ 2,883,961k 2,884,149k p=1.000 n=6
Parse Time 10.82s (± 0.47%) 10.81s (± 0.25%) ~ 10.77s 10.83s p=1.000 n=6
Bind Time 3.46s (± 0.37%) 3.46s (± 0.42%) ~ 3.44s 3.48s p=0.869 n=6
Check Time 61.58s (± 0.78%) 61.37s (± 0.28%) ~ 61.21s 61.70s p=0.229 n=6
Emit Time 17.01s (± 9.09%) 16.39s (± 0.51%) ~ 16.28s 16.50s p=0.630 n=6
Total Time 92.86s (± 2.16%) 92.02s (± 0.19%) ~ 91.84s 92.35s p=0.336 n=6
webpack - node (v18.15.0, x64)
Memory used 408,026k (± 0.01%) 408,031k (± 0.01%) ~ 407,977k 408,148k p=0.810 n=6
Parse Time 3.22s (± 0.23%) 3.23s (± 0.44%) ~ 3.21s 3.25s p=0.137 n=6
Bind Time 1.37s (± 0.38%) 1.38s (± 0.85%) ~ 1.37s 1.40s p=0.191 n=6
Check Time 14.26s (± 0.21%) 14.30s (± 0.33%) ~ 14.26s 14.39s p=0.106 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 18.85s (± 0.19%) 18.91s (± 0.23%) 0.07s ( 0.34%) 18.87s 18.99s p=0.024 n=6
xstate - node (v18.15.0, x64)
Memory used 513,108k (± 0.02%) 513,036k (± 0.02%) ~ 512,933k 513,125k p=0.423 n=6
Parse Time 3.27s (± 0.25%) 3.28s (± 0.16%) 0.01s ( 0.31%) 3.28s 3.29s p=0.039 n=6
Bind Time 1.55s (± 0.53%) 1.54s (± 0.35%) ~ 1.54s 1.55s p=0.859 n=6
Check Time 2.85s (± 0.68%) 2.85s (± 0.58%) ~ 2.83s 2.87s p=0.685 n=6
Emit Time 0.07s (± 0.00%) 0.07s (± 5.69%) ~ 0.07s 0.08s p=0.405 n=6
Total Time 7.74s (± 0.24%) 7.75s (± 0.19%) ~ 7.72s 7.76s p=0.742 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - node (v18.15.0, x64)
  • Monaco - node (v18.15.0, x64)
  • TFS - node (v18.15.0, x64)
  • material-ui - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,341ms (± 0.84%) 2,334ms (± 0.41%) ~ 2,325ms 2,351ms p=0.574 n=6
Req 2 - geterr 5,793ms (± 0.75%) 5,769ms (± 0.53%) ~ 5,728ms 5,811ms p=0.378 n=6
Req 3 - references 323ms (± 0.58%) 324ms (± 0.86%) ~ 323ms 330ms p=0.438 n=6
Req 4 - navto 273ms (± 0.55%) 273ms (± 0.20%) ~ 272ms 273ms p=0.342 n=6
Req 5 - completionInfo count 1,357 (± 0.00%) 1,357 (± 0.00%) ~ 1,357 1,357 p=1.000 n=6
Req 5 - completionInfo 92ms (± 4.97%) 95ms (± 0.54%) ~ 94ms 95ms p=0.091 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,490ms (± 0.61%) 2,491ms (± 0.46%) ~ 2,480ms 2,511ms p=0.748 n=6
Req 2 - geterr 4,263ms (± 0.26%) 4,263ms (± 0.30%) ~ 4,246ms 4,277ms p=0.936 n=6
Req 3 - references 333ms (± 0.96%) 332ms (± 0.53%) ~ 329ms 333ms p=0.329 n=6
Req 4 - navto 285ms (± 0.38%) 284ms (± 0.53%) ~ 282ms 286ms p=0.732 n=6
Req 5 - completionInfo count 1,519 (± 0.00%) 1,519 (± 0.00%) ~ 1,519 1,519 p=1.000 n=6
Req 5 - completionInfo 80ms (± 5.73%) 78ms (± 0.52%) ~ 78ms 79ms p=0.863 n=6
xstateTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,613ms (± 0.32%) 2,621ms (± 0.36%) ~ 2,607ms 2,630ms p=0.148 n=6
Req 2 - geterr 1,711ms (± 1.55%) 1,692ms (± 1.62%) ~ 1,660ms 1,729ms p=0.172 n=6
Req 3 - references 119ms (± 9.68%) 115ms (± 9.00%) ~ 108ms 130ms p=0.742 n=6
Req 4 - navto 371ms (± 0.63%) 374ms (± 1.36%) ~ 371ms 384ms p=0.250 n=6
Req 5 - completionInfo count 2,079 (± 0.00%) 2,079 (± 0.00%) ~ 2,079 2,079 p=1.000 n=6
Req 5 - completionInfo 308ms (± 2.56%) 306ms (± 1.41%) ~ 302ms 314ms p=0.419 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstateTSServer - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 154.20ms (± 0.16%) 154.15ms (± 0.18%) -0.06ms (- 0.04%) 152.95ms 157.68ms p=0.006 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 229.82ms (± 0.16%) 229.52ms (± 0.16%) -0.30ms (- 0.13%) 228.37ms 236.80ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 222.75ms (± 0.16%) 222.56ms (± 0.15%) -0.19ms (- 0.08%) 221.28ms 228.83ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 223.13ms (± 0.16%) 223.80ms (± 0.82%) 0.67ms ( 0.30%) 221.97ms 255.39ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@jakebailey
Copy link
Member Author

mozilla/rhino#1151 is now closed; rhino now has a stable sort. Is this safe to merge or should we wait a while?

@jakebailey jakebailey merged commit 3f6f316 into microsoft:main Jul 24, 2024
32 checks passed
@jakebailey jakebailey deleted the stable-sort branch July 24, 2024 01:17
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
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants