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

Kick out of normalizePath if there's nothing to do #44173

Merged
merged 3 commits into from
May 24, 2021

Conversation

amcasey
Copy link
Member

@amcasey amcasey commented May 19, 2021

...using relativePathSegmentRegExp.

Bonus: use a regex to handle "/./" to avoid splitting and joining in a common case.

When building the compiler, for example, it looks like ~95% of arguments to normalizePath do not require any normalization.

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels May 19, 2021
@amcasey
Copy link
Member Author

amcasey commented May 19, 2021

Note: I tried to reimplement getNormalizedAbsolutePath and getNormalizedAbsolutePathWithoutRoot in terms of normalizePath, but they have different trailing slash handling. Since they're called much less frequently, I left them as-is for now.

@amcasey
Copy link
Member Author

amcasey commented May 19, 2021

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 19, 2021

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

Update: The results are in!

@amcasey
Copy link
Member Author

amcasey commented May 19, 2021

Note: this PR incorporates #44149.

@@ -547,6 +547,10 @@ namespace ts {

export function normalizePath(path: string): string {
path = normalizeSlashes(path);
path = path.replace(/\/\.\//g, "/");
Copy link
Member Author

Choose a reason for hiding this comment

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

I could go either way on this replacement. Among paths that require updates, this is commonly enough (1/3 if I had to ballpark it), but the number is dwarfed by the number that require no changes at all (in which case this is a wasted string traversal). I measured it both ways and the difference was less than the margin of error.

@@ -658,7 +662,7 @@ namespace ts {
//// Path Comparisons

// check path for these segments: '', '.'. '..'
const relativePathSegmentRegExp = /(^|\/)\.{0,2}($|\/)/;
const relativePathSegmentRegExp = /(?:^|\/)\.\.?(?:$|\/)|\/\//;
Copy link
Member Author

Choose a reason for hiding this comment

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

Without this change, the kickout essentially never happens.

Copy link
Contributor

Choose a reason for hiding this comment

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

Non-capturing groups are also cheaper than capturing groups, in general, so should be used any time the capture isn't necessary.

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - master..44173

Metric master 44173 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 345,228k (± 0.01%) 343,676k (± 0.01%) -1,552k (- 0.45%) 343,577k 343,770k
Parse Time 1.92s (± 0.59%) 1.83s (± 0.70%) 🟩-0.09s (- 4.84%) 1.81s 1.87s
Bind Time 0.84s (± 0.74%) 0.83s (± 0.44%) -0.01s (- 0.60%) 0.83s 0.84s
Check Time 5.28s (± 0.30%) 5.21s (± 0.42%) -0.07s (- 1.38%) 5.16s 5.26s
Emit Time 5.54s (± 0.49%) 5.48s (± 0.57%) -0.06s (- 1.08%) 5.43s 5.57s
Total Time 13.58s (± 0.22%) 13.35s (± 0.40%) -0.23s (- 1.70%) 13.25s 13.52s
Compiler-Unions - node (v10.16.3, x64)
Memory used 200,338k (± 0.06%) 200,322k (± 0.04%) -16k (- 0.01%) 200,161k 200,513k
Parse Time 0.78s (± 0.67%) 0.79s (± 1.18%) +0.01s (+ 1.16%) 0.77s 0.81s
Bind Time 0.53s (± 0.76%) 0.52s (± 1.28%) -0.01s (- 1.13%) 0.51s 0.54s
Check Time 7.54s (± 0.45%) 7.53s (± 0.73%) -0.00s (- 0.07%) 7.41s 7.67s
Emit Time 2.25s (± 1.16%) 2.24s (± 1.20%) -0.01s (- 0.44%) 2.19s 2.29s
Total Time 11.10s (± 0.56%) 11.08s (± 0.66%) -0.02s (- 0.14%) 10.90s 11.26s
Monaco - node (v10.16.3, x64)
Memory used 341,735k (± 0.01%) 340,419k (± 0.03%) -1,315k (- 0.38%) 340,297k 340,797k
Parse Time 1.55s (± 0.65%) 1.46s (± 0.60%) 🟩-0.09s (- 5.86%) 1.45s 1.49s
Bind Time 0.74s (± 0.49%) 0.74s (± 1.00%) -0.00s (- 0.13%) 0.73s 0.76s
Check Time 5.40s (± 0.42%) 5.33s (± 0.50%) -0.07s (- 1.37%) 5.27s 5.38s
Emit Time 3.00s (± 1.15%) 2.98s (± 0.71%) -0.01s (- 0.40%) 2.93s 3.03s
Total Time 10.69s (± 0.47%) 10.52s (± 0.20%) -0.18s (- 1.64%) 10.47s 10.57s
TFS - node (v10.16.3, x64)
Memory used 304,221k (± 0.03%) 303,998k (± 0.02%) -223k (- 0.07%) 303,900k 304,231k
Parse Time 1.21s (± 0.39%) 1.19s (± 0.40%) -0.03s (- 2.14%) 1.18s 1.20s
Bind Time 0.70s (± 0.85%) 0.71s (± 0.78%) +0.00s (+ 0.43%) 0.70s 0.72s
Check Time 4.87s (± 0.35%) 4.84s (± 0.43%) -0.03s (- 0.64%) 4.80s 4.89s
Emit Time 3.09s (± 0.99%) 3.05s (± 1.28%) -0.03s (- 1.04%) 2.98s 3.18s
Total Time 9.88s (± 0.40%) 9.79s (± 0.51%) -0.09s (- 0.87%) 9.69s 9.94s
material-ui - node (v10.16.3, x64)
Memory used 474,033k (± 0.02%) 471,383k (± 0.02%) -2,650k (- 0.56%) 471,254k 471,637k
Parse Time 1.94s (± 0.57%) 1.74s (± 0.60%) 🟩-0.20s (-10.39%) 1.73s 1.77s
Bind Time 0.66s (± 1.45%) 0.66s (± 0.89%) +0.01s (+ 1.22%) 0.65s 0.68s
Check Time 14.30s (± 0.71%) 14.13s (± 0.52%) -0.17s (- 1.18%) 13.96s 14.26s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.90s (± 0.62%) 16.54s (± 0.44%) -0.36s (- 2.15%) 16.38s 16.67s
Angular - node (v12.1.0, x64)
Memory used 322,701k (± 0.02%) 322,079k (± 0.03%) -622k (- 0.19%) 321,941k 322,282k
Parse Time 1.91s (± 0.41%) 1.79s (± 0.74%) 🟩-0.12s (- 6.08%) 1.77s 1.82s
Bind Time 0.82s (± 0.63%) 0.82s (± 0.44%) +0.00s (+ 0.61%) 0.82s 0.83s
Check Time 5.16s (± 0.54%) 5.08s (± 0.59%) -0.08s (- 1.57%) 5.02s 5.15s
Emit Time 5.76s (± 0.48%) 5.68s (± 0.29%) -0.08s (- 1.34%) 5.65s 5.73s
Total Time 13.65s (± 0.37%) 13.37s (± 0.33%) -0.27s (- 2.00%) 13.31s 13.47s
Compiler-Unions - node (v12.1.0, x64)
Memory used 187,815k (± 0.02%) 187,760k (± 0.07%) -55k (- 0.03%) 187,242k 187,875k
Parse Time 0.77s (± 0.78%) 0.77s (± 0.87%) +0.00s (+ 0.13%) 0.76s 0.79s
Bind Time 0.53s (± 0.69%) 0.53s (± 0.76%) +0.00s (+ 0.57%) 0.52s 0.54s
Check Time 7.00s (± 0.38%) 7.02s (± 0.60%) +0.02s (+ 0.24%) 6.91s 7.09s
Emit Time 2.25s (± 1.46%) 2.22s (± 0.62%) -0.03s (- 1.29%) 2.20s 2.27s
Total Time 10.55s (± 0.45%) 10.54s (± 0.46%) -0.01s (- 0.08%) 10.42s 10.65s
Monaco - node (v12.1.0, x64)
Memory used 323,851k (± 0.08%) 323,464k (± 0.02%) -387k (- 0.12%) 323,354k 323,651k
Parse Time 1.54s (± 0.65%) 1.43s (± 0.94%) 🟩-0.11s (- 6.90%) 1.41s 1.46s
Bind Time 0.72s (± 0.72%) 0.72s (± 0.93%) -0.00s (- 0.28%) 0.71s 0.73s
Check Time 5.24s (± 0.78%) 5.17s (± 0.48%) -0.07s (- 1.26%) 5.13s 5.23s
Emit Time 3.05s (± 1.02%) 3.01s (± 0.63%) -0.03s (- 1.15%) 2.98s 3.06s
Total Time 10.54s (± 0.67%) 10.33s (± 0.33%) -0.21s (- 1.98%) 10.25s 10.42s
TFS - node (v12.1.0, x64)
Memory used 288,741k (± 0.02%) 288,505k (± 0.02%) -235k (- 0.08%) 288,386k 288,620k
Parse Time 1.21s (± 0.84%) 1.19s (± 0.50%) -0.03s (- 2.06%) 1.18s 1.20s
Bind Time 0.70s (± 0.71%) 0.69s (± 1.02%) -0.01s (- 1.01%) 0.68s 0.71s
Check Time 4.78s (± 0.50%) 4.74s (± 0.56%) -0.04s (- 0.77%) 4.69s 4.82s
Emit Time 3.13s (± 0.65%) 3.11s (± 0.60%) -0.02s (- 0.48%) 3.05s 3.15s
Total Time 9.81s (± 0.47%) 9.72s (± 0.34%) -0.08s (- 0.87%) 9.65s 9.79s
material-ui - node (v12.1.0, x64)
Memory used 451,611k (± 0.10%) 450,141k (± 0.04%) -1,471k (- 0.33%) 449,560k 450,410k
Parse Time 1.95s (± 0.45%) 1.74s (± 0.37%) 🟩-0.21s (-10.80%) 1.73s 1.76s
Bind Time 0.64s (± 0.73%) 0.64s (± 0.91%) -0.00s (- 0.47%) 0.63s 0.65s
Check Time 12.89s (± 0.80%) 12.72s (± 0.51%) -0.17s (- 1.33%) 12.59s 12.86s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.48s (± 0.71%) 15.10s (± 0.41%) -0.38s (- 2.46%) 14.97s 15.23s
Angular - node (v14.15.1, x64)
Memory used 321,427k (± 0.01%) 320,716k (± 0.01%) -711k (- 0.22%) 320,668k 320,781k
Parse Time 1.91s (± 0.55%) 1.81s (± 0.64%) 🟩-0.10s (- 5.24%) 1.79s 1.84s
Bind Time 0.87s (± 0.60%) 0.87s (± 0.89%) 0.00s ( 0.00%) 0.86s 0.89s
Check Time 5.16s (± 0.46%) 5.12s (± 0.48%) -0.04s (- 0.81%) 5.07s 5.17s
Emit Time 5.82s (± 0.51%) 5.77s (± 0.76%) -0.05s (- 0.89%) 5.69s 5.87s
Total Time 13.76s (± 0.36%) 13.56s (± 0.55%) -0.20s (- 1.42%) 13.41s 13.75s
Compiler-Unions - node (v14.15.1, x64)
Memory used 188,108k (± 0.63%) 188,765k (± 0.58%) +656k (+ 0.35%) 186,489k 189,806k
Parse Time 0.80s (± 0.72%) 0.80s (± 0.77%) -0.00s (- 0.25%) 0.79s 0.81s
Bind Time 0.56s (± 0.85%) 0.55s (± 0.67%) -0.00s (- 0.36%) 0.55s 0.56s
Check Time 7.14s (± 0.54%) 7.14s (± 0.34%) +0.00s (+ 0.01%) 7.08s 7.20s
Emit Time 2.24s (± 0.90%) 2.26s (± 0.93%) +0.02s (+ 0.89%) 2.21s 2.30s
Total Time 10.74s (± 0.36%) 10.76s (± 0.35%) +0.02s (+ 0.17%) 10.68s 10.84s
Monaco - node (v14.15.1, x64)
Memory used 323,139k (± 0.01%) 322,447k (± 0.01%) -692k (- 0.21%) 322,408k 322,498k
Parse Time 1.57s (± 0.82%) 1.48s (± 0.52%) 🟩-0.09s (- 5.98%) 1.46s 1.50s
Bind Time 0.75s (± 0.78%) 0.74s (± 0.66%) -0.00s (- 0.40%) 0.74s 0.76s
Check Time 5.21s (± 0.71%) 5.16s (± 0.50%) -0.06s (- 1.07%) 5.10s 5.23s
Emit Time 3.09s (± 1.01%) 3.06s (± 0.73%) -0.03s (- 0.84%) 3.04s 3.13s
Total Time 10.62s (± 0.43%) 10.44s (± 0.45%) -0.18s (- 1.67%) 10.36s 10.58s
TFS - node (v14.15.1, x64)
Memory used 287,683k (± 0.01%) 287,524k (± 0.00%) -158k (- 0.05%) 287,487k 287,549k
Parse Time 1.27s (± 1.58%) 1.24s (± 0.65%) -0.03s (- 2.67%) 1.23s 1.26s
Bind Time 0.71s (± 0.83%) 0.72s (± 1.46%) +0.01s (+ 0.84%) 0.71s 0.76s
Check Time 4.82s (± 0.33%) 4.80s (± 0.56%) -0.01s (- 0.31%) 4.74s 4.88s
Emit Time 3.21s (± 0.85%) 3.21s (± 0.55%) -0.00s (- 0.16%) 3.17s 3.25s
Total Time 10.01s (± 0.37%) 9.96s (± 0.29%) -0.05s (- 0.47%) 9.91s 10.04s
material-ui - node (v14.15.1, x64)
Memory used 450,052k (± 0.07%) 448,420k (± 0.06%) -1,633k (- 0.36%) 447,412k 448,657k
Parse Time 1.98s (± 0.61%) 1.80s (± 0.58%) 🟩-0.18s (- 9.24%) 1.77s 1.82s
Bind Time 0.70s (± 0.82%) 0.70s (± 0.43%) -0.00s (- 0.29%) 0.69s 0.70s
Check Time 12.99s (± 0.64%) 12.91s (± 0.54%) -0.08s (- 0.62%) 12.77s 13.11s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.67s (± 0.56%) 15.40s (± 0.46%) -0.27s (- 1.72%) 15.26s 15.61s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-206-generic
Architecturex64
Available Memory16 GB
Available Memory2 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)
Benchmark Name Iterations
Current 44173 10
Baseline master 10

Developer Information:

Download Benchmark

@amcasey
Copy link
Member Author

amcasey commented May 19, 2021

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 19, 2021

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - master..44173

Metric master 44173 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 345,177k (± 0.02%) 343,770k (± 0.02%) -1,407k (- 0.41%) 343,644k 343,882k
Parse Time 1.92s (± 0.54%) 1.81s (± 0.43%) 🟩-0.11s (- 5.88%) 1.79s 1.82s
Bind Time 0.84s (± 0.77%) 0.84s (± 0.56%) -0.00s (- 0.24%) 0.83s 0.85s
Check Time 5.25s (± 0.32%) 5.17s (± 0.43%) -0.08s (- 1.54%) 5.12s 5.22s
Emit Time 5.51s (± 0.32%) 5.46s (± 0.54%) -0.05s (- 0.93%) 5.40s 5.52s
Total Time 13.53s (± 0.20%) 13.28s (± 0.22%) -0.25s (- 1.81%) 13.23s 13.36s
Compiler-Unions - node (v10.16.3, x64)
Memory used 200,344k (± 0.03%) 200,175k (± 0.07%) -169k (- 0.08%) 199,848k 200,471k
Parse Time 0.78s (± 0.90%) 0.79s (± 0.97%) +0.00s (+ 0.51%) 0.77s 0.80s
Bind Time 0.52s (± 1.82%) 0.53s (± 1.09%) +0.01s (+ 1.15%) 0.52s 0.54s
Check Time 7.56s (± 0.44%) 7.53s (± 0.52%) -0.03s (- 0.41%) 7.40s 7.58s
Emit Time 2.23s (± 0.65%) 2.26s (± 1.53%) +0.02s (+ 0.98%) 2.21s 2.34s
Total Time 11.10s (± 0.34%) 11.10s (± 0.44%) -0.00s (- 0.02%) 11.02s 11.22s
Monaco - node (v10.16.3, x64)
Memory used 341,676k (± 0.02%) 340,443k (± 0.02%) -1,233k (- 0.36%) 340,202k 340,552k
Parse Time 1.56s (± 0.53%) 1.47s (± 0.61%) 🟩-0.09s (- 5.78%) 1.45s 1.48s
Bind Time 0.74s (± 0.50%) 0.74s (± 0.91%) -0.01s (- 1.07%) 0.73s 0.76s
Check Time 5.40s (± 0.51%) 5.37s (± 0.48%) -0.03s (- 0.63%) 5.31s 5.41s
Emit Time 3.00s (± 0.62%) 2.97s (± 0.88%) -0.03s (- 0.83%) 2.92s 3.04s
Total Time 10.70s (± 0.38%) 10.54s (± 0.36%) -0.15s (- 1.45%) 10.47s 10.64s
TFS - node (v10.16.3, x64)
Memory used 304,245k (± 0.03%) 304,007k (± 0.03%) -238k (- 0.08%) 303,828k 304,257k
Parse Time 1.22s (± 0.28%) 1.18s (± 0.42%) -0.03s (- 2.71%) 1.17s 1.19s
Bind Time 0.70s (± 0.52%) 0.71s (± 0.63%) +0.00s (+ 0.57%) 0.70s 0.72s
Check Time 4.86s (± 0.47%) 4.86s (± 0.41%) -0.00s (- 0.04%) 4.83s 4.91s
Emit Time 3.15s (± 1.35%) 3.05s (± 1.24%) -0.09s (- 2.96%) 2.96s 3.14s
Total Time 9.93s (± 0.45%) 9.81s (± 0.50%) -0.12s (- 1.18%) 9.70s 9.93s
material-ui - node (v10.16.3, x64)
Memory used 474,165k (± 0.01%) 471,501k (± 0.01%) -2,664k (- 0.56%) 471,366k 471,633k
Parse Time 1.93s (± 0.46%) 1.73s (± 0.54%) 🟩-0.20s (-10.35%) 1.72s 1.76s
Bind Time 0.66s (± 0.72%) 0.66s (± 0.74%) +0.01s (+ 1.07%) 0.65s 0.67s
Check Time 14.18s (± 0.45%) 14.15s (± 0.53%) -0.03s (- 0.22%) 13.97s 14.38s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.77s (± 0.35%) 16.55s (± 0.46%) -0.22s (- 1.30%) 16.37s 16.79s
Angular - node (v12.1.0, x64)
Memory used 322,633k (± 0.02%) 322,028k (± 0.03%) -604k (- 0.19%) 321,762k 322,237k
Parse Time 1.91s (± 0.71%) 1.80s (± 0.59%) 🟩-0.11s (- 5.82%) 1.77s 1.82s
Bind Time 0.82s (± 0.63%) 0.83s (± 0.92%) +0.01s (+ 0.85%) 0.81s 0.84s
Check Time 5.18s (± 0.53%) 5.08s (± 0.51%) -0.09s (- 1.82%) 5.00s 5.13s
Emit Time 5.76s (± 0.55%) 5.72s (± 0.64%) -0.04s (- 0.73%) 5.65s 5.82s
Total Time 13.66s (± 0.35%) 13.42s (± 0.35%) -0.24s (- 1.79%) 13.35s 13.55s
Compiler-Unions - node (v12.1.0, x64)
Memory used 187,868k (± 0.04%) 187,585k (± 0.10%) -283k (- 0.15%) 187,221k 187,963k
Parse Time 0.77s (± 0.86%) 0.77s (± 0.84%) +0.00s (+ 0.26%) 0.75s 0.78s
Bind Time 0.53s (± 1.09%) 0.53s (± 0.89%) -0.00s (- 0.56%) 0.52s 0.54s
Check Time 7.02s (± 0.93%) 7.00s (± 0.68%) -0.02s (- 0.21%) 6.92s 7.15s
Emit Time 2.23s (± 0.55%) 2.24s (± 1.32%) +0.01s (+ 0.45%) 2.19s 2.35s
Total Time 10.55s (± 0.66%) 10.55s (± 0.64%) -0.01s (- 0.05%) 10.44s 10.71s
Monaco - node (v12.1.0, x64)
Memory used 324,121k (± 0.03%) 323,451k (± 0.02%) -670k (- 0.21%) 323,308k 323,616k
Parse Time 1.54s (± 0.91%) 1.42s (± 0.62%) 🟩-0.12s (- 7.87%) 1.40s 1.44s
Bind Time 0.72s (± 0.72%) 0.72s (± 0.47%) -0.00s (- 0.55%) 0.71s 0.72s
Check Time 5.20s (± 0.45%) 5.19s (± 0.51%) -0.01s (- 0.27%) 5.13s 5.25s
Emit Time 3.02s (± 0.70%) 3.00s (± 0.51%) -0.02s (- 0.60%) 2.95s 3.02s
Total Time 10.48s (± 0.27%) 10.32s (± 0.32%) -0.16s (- 1.50%) 10.21s 10.38s
TFS - node (v12.1.0, x64)
Memory used 288,745k (± 0.01%) 288,531k (± 0.01%) -213k (- 0.07%) 288,416k 288,565k
Parse Time 1.21s (± 0.94%) 1.19s (± 0.73%) -0.02s (- 1.98%) 1.18s 1.22s
Bind Time 0.69s (± 0.86%) 0.69s (± 0.90%) -0.00s (- 0.72%) 0.68s 0.71s
Check Time 4.78s (± 0.47%) 4.77s (± 0.62%) -0.00s (- 0.04%) 4.72s 4.84s
Emit Time 3.13s (± 1.17%) 3.10s (± 0.71%) -0.03s (- 1.05%) 3.06s 3.15s
Total Time 9.81s (± 0.58%) 9.75s (± 0.43%) -0.06s (- 0.66%) 9.65s 9.82s
material-ui - node (v12.1.0, x64)
Memory used 451,735k (± 0.08%) 450,286k (± 0.01%) -1,449k (- 0.32%) 450,170k 450,420k
Parse Time 1.95s (± 0.41%) 1.72s (± 0.68%) 🟩-0.23s (-11.76%) 1.69s 1.75s
Bind Time 0.64s (± 0.87%) 0.64s (± 1.06%) +0.01s (+ 0.94%) 0.63s 0.66s
Check Time 12.86s (± 0.67%) 12.73s (± 0.66%) -0.14s (- 1.06%) 12.59s 12.94s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.45s (± 0.59%) 15.09s (± 0.55%) -0.36s (- 2.32%) 14.98s 15.32s
Angular - node (v14.15.1, x64)
Memory used 321,402k (± 0.01%) 320,697k (± 0.00%) -705k (- 0.22%) 320,668k 320,734k
Parse Time 1.91s (± 0.30%) 1.80s (± 0.27%) 🟩-0.11s (- 5.97%) 1.79s 1.81s
Bind Time 0.87s (± 0.68%) 0.87s (± 0.76%) -0.00s (- 0.46%) 0.86s 0.89s
Check Time 5.19s (± 0.60%) 5.08s (± 0.50%) -0.12s (- 2.23%) 5.03s 5.16s
Emit Time 5.83s (± 0.74%) 5.74s (± 0.77%) -0.09s (- 1.51%) 5.66s 5.83s
Total Time 13.80s (± 0.45%) 13.48s (± 0.49%) -0.32s (- 2.35%) 13.38s 13.63s
Compiler-Unions - node (v14.15.1, x64)
Memory used 188,458k (± 0.62%) 188,457k (± 0.62%) -1k (- 0.00%) 186,496k 189,777k
Parse Time 0.81s (± 0.74%) 0.80s (± 1.08%) -0.00s (- 0.37%) 0.79s 0.83s
Bind Time 0.56s (± 1.50%) 0.55s (± 0.66%) -0.01s (- 1.25%) 0.55s 0.56s
Check Time 7.19s (± 0.84%) 7.14s (± 0.56%) -0.04s (- 0.61%) 7.03s 7.24s
Emit Time 2.27s (± 1.08%) 2.26s (± 1.00%) -0.00s (- 0.18%) 2.20s 2.30s
Total Time 10.82s (± 0.72%) 10.76s (± 0.47%) -0.06s (- 0.57%) 10.66s 10.86s
Monaco - node (v14.15.1, x64)
Memory used 323,157k (± 0.01%) 322,460k (± 0.01%) -698k (- 0.22%) 322,416k 322,539k
Parse Time 1.56s (± 0.53%) 1.46s (± 0.41%) 🟩-0.10s (- 6.33%) 1.45s 1.48s
Bind Time 0.75s (± 0.69%) 0.74s (± 0.50%) -0.00s (- 0.53%) 0.74s 0.75s
Check Time 5.19s (± 0.54%) 5.17s (± 0.43%) -0.02s (- 0.39%) 5.12s 5.22s
Emit Time 3.07s (± 0.54%) 3.07s (± 0.62%) -0.00s (- 0.13%) 3.03s 3.12s
Total Time 10.57s (± 0.38%) 10.44s (± 0.36%) -0.13s (- 1.18%) 10.36s 10.52s
TFS - node (v14.15.1, x64)
Memory used 287,674k (± 0.00%) 287,531k (± 0.01%) -144k (- 0.05%) 287,467k 287,568k
Parse Time 1.28s (± 1.08%) 1.25s (± 0.74%) -0.03s (- 2.19%) 1.23s 1.27s
Bind Time 0.72s (± 1.01%) 0.71s (± 0.48%) -0.01s (- 0.70%) 0.71s 0.72s
Check Time 4.81s (± 0.35%) 4.79s (± 0.66%) -0.02s (- 0.35%) 4.72s 4.88s
Emit Time 3.21s (± 0.68%) 3.21s (± 0.66%) +0.01s (+ 0.28%) 3.17s 3.27s
Total Time 10.00s (± 0.25%) 9.96s (± 0.34%) -0.04s (- 0.37%) 9.89s 10.07s
material-ui - node (v14.15.1, x64)
Memory used 450,051k (± 0.06%) 448,606k (± 0.00%) -1,445k (- 0.32%) 448,562k 448,637k
Parse Time 1.98s (± 0.57%) 1.80s (± 0.79%) 🟩-0.18s (- 9.34%) 1.75s 1.82s
Bind Time 0.70s (± 0.52%) 0.70s (± 0.80%) +0.00s (+ 0.29%) 0.69s 0.71s
Check Time 12.99s (± 0.66%) 12.93s (± 0.73%) -0.06s (- 0.50%) 12.81s 13.25s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.67s (± 0.54%) 15.42s (± 0.63%) -0.25s (- 1.58%) 15.29s 15.73s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-206-generic
Architecturex64
Available Memory16 GB
Available Memory2 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)
Benchmark Name Iterations
Current 44173 10
Baseline master 10

Developer Information:

Download Benchmark

@dmichon-msft
Copy link
Contributor

Whoa, that's a lot of time spent in path normalization. I suppose that's not really all that surprising, though, it's a pretty expensive operation and gets run a very large number of times during path resolution.

amcasey added 2 commits May 21, 2021 10:32
...using `relativePathSegmentRegExp`.

Bonus: use a regex to handle "/./" to avoid splitting and joining in a
common case.

When building the compiler, for example, it looks like ~95% of arguments
to `normalizePath` do not require any normalization.
@amcasey
Copy link
Member Author

amcasey commented May 21, 2021

Force push just merges in #44149

@amcasey
Copy link
Member Author

amcasey commented May 21, 2021

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 21, 2021

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

Update: The results are in!

@amcasey
Copy link
Member Author

amcasey commented May 21, 2021

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 21, 2021

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

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - master..44173

Metric master 44173 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 345,214k (± 0.02%) 343,763k (± 0.03%) -1,451k (- 0.42%) 343,467k 343,981k
Parse Time 1.90s (± 0.57%) 1.79s (± 0.53%) 🟩-0.11s (- 5.63%) 1.78s 1.82s
Bind Time 0.84s (± 0.74%) 0.83s (± 0.44%) -0.00s (- 0.48%) 0.83s 0.84s
Check Time 5.28s (± 0.36%) 5.20s (± 0.48%) -0.08s (- 1.48%) 5.15s 5.25s
Emit Time 5.53s (± 0.66%) 5.50s (± 0.72%) -0.03s (- 0.54%) 5.44s 5.60s
Total Time 13.55s (± 0.46%) 13.33s (± 0.36%) -0.22s (- 1.65%) 13.25s 13.47s
Compiler-Unions - node (v10.16.3, x64)
Memory used 200,349k (± 0.02%) 200,303k (± 0.06%) -46k (- 0.02%) 199,885k 200,455k
Parse Time 0.78s (± 0.75%) 0.78s (± 0.99%) +0.00s (+ 0.51%) 0.76s 0.80s
Bind Time 0.53s (± 0.84%) 0.53s (± 1.10%) -0.00s (- 0.19%) 0.52s 0.54s
Check Time 7.55s (± 0.69%) 7.52s (± 0.63%) -0.03s (- 0.34%) 7.46s 7.70s
Emit Time 2.25s (± 1.63%) 2.24s (± 0.89%) -0.01s (- 0.36%) 2.21s 2.28s
Total Time 11.10s (± 0.60%) 11.07s (± 0.52%) -0.03s (- 0.29%) 11.00s 11.28s
Monaco - node (v10.16.3, x64)
Memory used 341,679k (± 0.01%) 340,486k (± 0.03%) -1,193k (- 0.35%) 340,215k 340,749k
Parse Time 1.55s (± 0.39%) 1.46s (± 0.61%) 🟩-0.09s (- 5.70%) 1.44s 1.47s
Bind Time 0.75s (± 1.07%) 0.74s (± 0.88%) -0.01s (- 1.34%) 0.72s 0.75s
Check Time 5.42s (± 0.46%) 5.33s (± 0.74%) -0.09s (- 1.66%) 5.22s 5.40s
Emit Time 3.00s (± 1.11%) 2.97s (± 1.36%) -0.04s (- 1.17%) 2.90s 3.07s
Total Time 10.72s (± 0.43%) 10.49s (± 0.42%) -0.22s (- 2.09%) 10.38s 10.61s
TFS - node (v10.16.3, x64)
Memory used 304,218k (± 0.03%) 304,017k (± 0.01%) -201k (- 0.07%) 303,964k 304,107k
Parse Time 1.21s (± 0.69%) 1.18s (± 0.51%) -0.03s (- 2.49%) 1.16s 1.19s
Bind Time 0.71s (± 0.70%) 0.70s (± 0.70%) -0.00s (- 0.28%) 0.69s 0.71s
Check Time 4.88s (± 0.49%) 4.88s (± 0.36%) +0.00s (+ 0.08%) 4.84s 4.91s
Emit Time 3.14s (± 1.31%) 3.06s (± 1.26%) -0.08s (- 2.51%) 2.99s 3.16s
Total Time 9.93s (± 0.63%) 9.82s (± 0.36%) -0.11s (- 1.12%) 9.74s 9.90s
material-ui - node (v10.16.3, x64)
Memory used 474,141k (± 0.02%) 471,483k (± 0.02%) -2,658k (- 0.56%) 471,347k 471,648k
Parse Time 1.92s (± 0.84%) 1.72s (± 0.46%) 🟩-0.20s (-10.36%) 1.71s 1.74s
Bind Time 0.65s (± 0.68%) 0.66s (± 0.71%) +0.01s (+ 1.23%) 0.65s 0.67s
Check Time 14.25s (± 0.49%) 14.27s (± 0.50%) +0.02s (+ 0.17%) 14.16s 14.43s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.82s (± 0.45%) 16.66s (± 0.48%) -0.17s (- 1.00%) 16.53s 16.84s
Angular - node (v12.1.0, x64)
Memory used 322,726k (± 0.03%) 322,043k (± 0.03%) -683k (- 0.21%) 321,817k 322,165k
Parse Time 1.89s (± 0.53%) 1.78s (± 0.82%) 🟩-0.11s (- 5.97%) 1.75s 1.82s
Bind Time 0.82s (± 1.15%) 0.83s (± 0.74%) +0.01s (+ 0.73%) 0.82s 0.84s
Check Time 5.18s (± 0.43%) 5.09s (± 0.41%) -0.09s (- 1.76%) 5.03s 5.13s
Emit Time 5.78s (± 0.77%) 5.69s (± 0.90%) -0.08s (- 1.44%) 5.60s 5.84s
Total Time 13.67s (± 0.43%) 13.39s (± 0.59%) -0.28s (- 2.05%) 13.24s 13.62s
Compiler-Unions - node (v12.1.0, x64)
Memory used 187,676k (± 0.10%) 187,836k (± 0.07%) +160k (+ 0.09%) 187,416k 188,095k
Parse Time 0.77s (± 0.58%) 0.77s (± 0.47%) -0.01s (- 0.78%) 0.76s 0.77s
Bind Time 0.53s (± 0.89%) 0.53s (± 1.05%) -0.00s (- 0.38%) 0.52s 0.54s
Check Time 7.00s (± 0.48%) 7.02s (± 0.52%) +0.02s (+ 0.26%) 6.97s 7.09s
Emit Time 2.24s (± 0.91%) 2.25s (± 0.76%) +0.01s (+ 0.22%) 2.22s 2.28s
Total Time 10.54s (± 0.42%) 10.56s (± 0.41%) +0.02s (+ 0.20%) 10.48s 10.65s
Monaco - node (v12.1.0, x64)
Memory used 324,056k (± 0.03%) 323,509k (± 0.02%) -547k (- 0.17%) 323,391k 323,676k
Parse Time 1.53s (± 0.38%) 1.41s (± 0.61%) 🟩-0.12s (- 7.89%) 1.40s 1.44s
Bind Time 0.72s (± 0.50%) 0.71s (± 0.52%) -0.01s (- 1.24%) 0.71s 0.72s
Check Time 5.24s (± 0.25%) 5.19s (± 0.30%) -0.05s (- 1.03%) 5.14s 5.22s
Emit Time 3.03s (± 0.36%) 3.01s (± 0.82%) -0.02s (- 0.66%) 2.97s 3.07s
Total Time 10.52s (± 0.18%) 10.32s (± 0.33%) -0.20s (- 1.88%) 10.24s 10.39s
TFS - node (v12.1.0, x64)
Memory used 288,706k (± 0.02%) 288,597k (± 0.02%) -110k (- 0.04%) 288,417k 288,735k
Parse Time 1.21s (± 0.95%) 1.18s (± 0.64%) -0.03s (- 2.39%) 1.16s 1.20s
Bind Time 0.69s (± 0.84%) 0.69s (± 1.18%) -0.00s (- 0.43%) 0.68s 0.72s
Check Time 4.79s (± 0.51%) 4.78s (± 0.53%) -0.02s (- 0.33%) 4.73s 4.84s
Emit Time 3.14s (± 0.95%) 3.12s (± 1.07%) -0.01s (- 0.38%) 3.07s 3.24s
Total Time 9.84s (± 0.45%) 9.77s (± 0.55%) -0.06s (- 0.65%) 9.68s 9.95s
material-ui - node (v12.1.0, x64)
Memory used 451,879k (± 0.05%) 450,267k (± 0.02%) -1,612k (- 0.36%) 450,082k 450,435k
Parse Time 1.94s (± 0.35%) 1.71s (± 0.41%) 🟩-0.23s (-11.73%) 1.70s 1.73s
Bind Time 0.64s (± 0.96%) 0.64s (± 0.63%) -0.00s (- 0.31%) 0.63s 0.65s
Check Time 12.90s (± 0.80%) 12.76s (± 0.68%) -0.14s (- 1.08%) 12.65s 13.06s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.48s (± 0.65%) 15.11s (± 0.60%) -0.36s (- 2.36%) 15.00s 15.42s
Angular - node (v14.15.1, x64)
Memory used 321,451k (± 0.01%) 320,750k (± 0.00%) -701k (- 0.22%) 320,722k 320,774k
Parse Time 1.89s (± 0.50%) 1.78s (± 0.49%) 🟩-0.11s (- 6.02%) 1.77s 1.81s
Bind Time 0.87s (± 0.60%) 0.87s (± 0.39%) -0.00s (- 0.46%) 0.86s 0.87s
Check Time 5.17s (± 0.50%) 5.11s (± 0.53%) -0.07s (- 1.28%) 5.06s 5.16s
Emit Time 5.83s (± 1.32%) 5.73s (± 0.79%) -0.10s (- 1.73%) 5.65s 5.83s
Total Time 13.76s (± 0.63%) 13.48s (± 0.53%) -0.28s (- 2.06%) 13.38s 13.67s
Compiler-Unions - node (v14.15.1, x64)
Memory used 188,813k (± 0.58%) 188,769k (± 0.57%) -45k (- 0.02%) 186,514k 189,800k
Parse Time 0.80s (± 0.72%) 0.80s (± 0.43%) -0.00s (- 0.38%) 0.79s 0.80s
Bind Time 0.56s (± 0.61%) 0.56s (± 1.07%) -0.00s (- 0.18%) 0.55s 0.57s
Check Time 7.13s (± 0.73%) 7.14s (± 0.65%) +0.01s (+ 0.17%) 7.08s 7.25s
Emit Time 2.26s (± 0.73%) 2.26s (± 0.94%) +0.01s (+ 0.22%) 2.22s 2.31s
Total Time 10.75s (± 0.53%) 10.76s (± 0.51%) +0.01s (+ 0.11%) 10.68s 10.91s
Monaco - node (v14.15.1, x64)
Memory used 323,156k (± 0.01%) 322,491k (± 0.01%) -665k (- 0.21%) 322,433k 322,590k
Parse Time 1.57s (± 0.86%) 1.46s (± 0.61%) 🟩-0.11s (- 6.90%) 1.44s 1.48s
Bind Time 0.75s (± 0.97%) 0.75s (± 0.80%) -0.00s (- 0.40%) 0.73s 0.76s
Check Time 5.21s (± 0.51%) 5.17s (± 0.64%) -0.03s (- 0.65%) 5.13s 5.27s
Emit Time 3.06s (± 0.90%) 3.06s (± 0.92%) -0.01s (- 0.20%) 3.01s 3.12s
Total Time 10.58s (± 0.51%) 10.43s (± 0.53%) -0.15s (- 1.41%) 10.32s 10.55s
TFS - node (v14.15.1, x64)
Memory used 287,704k (± 0.01%) 287,583k (± 0.01%) -121k (- 0.04%) 287,546k 287,633k
Parse Time 1.26s (± 0.61%) 1.25s (± 1.66%) -0.01s (- 0.56%) 1.24s 1.31s
Bind Time 0.72s (± 0.81%) 0.71s (± 0.47%) -0.01s (- 0.98%) 0.70s 0.72s
Check Time 4.81s (± 0.40%) 4.79s (± 0.35%) -0.02s (- 0.33%) 4.76s 4.83s
Emit Time 3.20s (± 0.70%) 3.20s (± 0.77%) -0.00s (- 0.06%) 3.14s 3.26s
Total Time 9.99s (± 0.29%) 9.96s (± 0.33%) -0.03s (- 0.32%) 9.89s 10.03s
material-ui - node (v14.15.1, x64)
Memory used 450,107k (± 0.06%) 448,558k (± 0.04%) -1,549k (- 0.34%) 447,926k 448,662k
Parse Time 1.98s (± 0.44%) 1.78s (± 0.45%) 🟩-0.20s (-10.29%) 1.76s 1.80s
Bind Time 0.70s (± 0.67%) 0.69s (± 0.58%) -0.01s (- 1.57%) 0.68s 0.70s
Check Time 13.01s (± 0.61%) 12.96s (± 0.50%) -0.05s (- 0.37%) 12.86s 13.13s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.69s (± 0.50%) 15.43s (± 0.44%) -0.26s (- 1.66%) 15.32s 15.61s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-206-generic
Architecturex64
Available Memory16 GB
Available Memory2 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)
Benchmark Name Iterations
Current 44173 10
Baseline master 10

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - master..44173

Metric master 44173 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 345,202k (± 0.01%) 343,773k (± 0.02%) -1,429k (- 0.41%) 343,613k 343,905k
Parse Time 1.91s (± 0.65%) 1.82s (± 0.49%) 🟩-0.10s (- 5.07%) 1.80s 1.84s
Bind Time 0.84s (± 0.66%) 0.84s (± 0.81%) -0.01s (- 0.71%) 0.82s 0.85s
Check Time 5.29s (± 0.48%) 5.21s (± 0.48%) -0.09s (- 1.64%) 5.17s 5.26s
Emit Time 5.56s (± 0.69%) 5.49s (± 0.69%) -0.08s (- 1.38%) 5.39s 5.58s
Total Time 13.61s (± 0.45%) 13.35s (± 0.37%) -0.27s (- 1.95%) 13.23s 13.44s
Compiler-Unions - node (v10.16.3, x64)
Memory used 200,417k (± 0.03%) 200,339k (± 0.07%) -78k (- 0.04%) 199,957k 200,583k
Parse Time 0.78s (± 0.60%) 0.78s (± 1.14%) +0.00s (+ 0.51%) 0.76s 0.81s
Bind Time 0.53s (± 1.04%) 0.53s (± 1.22%) 0.00s ( 0.00%) 0.52s 0.55s
Check Time 7.58s (± 0.62%) 7.60s (± 0.63%) +0.02s (+ 0.28%) 7.50s 7.69s
Emit Time 2.25s (± 0.94%) 2.25s (± 1.05%) +0.00s (+ 0.04%) 2.19s 2.29s
Total Time 11.13s (± 0.50%) 11.15s (± 0.50%) +0.02s (+ 0.20%) 11.03s 11.26s
Monaco - node (v10.16.3, x64)
Memory used 341,687k (± 0.01%) 340,448k (± 0.01%) -1,239k (- 0.36%) 340,308k 340,513k
Parse Time 1.56s (± 0.92%) 1.46s (± 0.58%) 🟩-0.10s (- 6.29%) 1.44s 1.48s
Bind Time 0.74s (± 0.63%) 0.74s (± 0.98%) +0.00s (+ 0.27%) 0.73s 0.76s
Check Time 5.43s (± 0.47%) 5.38s (± 0.60%) -0.05s (- 0.98%) 5.32s 5.46s
Emit Time 2.97s (± 0.66%) 2.99s (± 1.13%) +0.02s (+ 0.71%) 2.92s 3.06s
Total Time 10.71s (± 0.40%) 10.58s (± 0.42%) -0.13s (- 1.24%) 10.50s 10.67s
TFS - node (v10.16.3, x64)
Memory used 304,242k (± 0.02%) 303,987k (± 0.03%) -255k (- 0.08%) 303,811k 304,138k
Parse Time 1.21s (± 0.55%) 1.18s (± 0.64%) -0.03s (- 2.15%) 1.17s 1.20s
Bind Time 0.70s (± 0.74%) 0.71s (± 0.73%) +0.01s (+ 1.43%) 0.70s 0.72s
Check Time 4.87s (± 0.61%) 4.88s (± 0.53%) +0.01s (+ 0.25%) 4.84s 4.94s
Emit Time 3.10s (± 1.34%) 3.08s (± 1.07%) -0.02s (- 0.74%) 3.03s 3.19s
Total Time 9.89s (± 0.53%) 9.85s (± 0.45%) -0.03s (- 0.33%) 9.77s 9.98s
material-ui - node (v10.16.3, x64)
Memory used 474,183k (± 0.01%) 471,510k (± 0.02%) -2,674k (- 0.56%) 471,247k 471,613k
Parse Time 1.93s (± 0.64%) 1.73s (± 0.60%) 🟩-0.20s (-10.47%) 1.71s 1.76s
Bind Time 0.65s (± 1.00%) 0.66s (± 1.33%) +0.02s (+ 2.31%) 0.65s 0.69s
Check Time 14.27s (± 0.44%) 14.25s (± 0.54%) -0.02s (- 0.12%) 14.13s 14.45s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.85s (± 0.39%) 16.64s (± 0.48%) -0.20s (- 1.21%) 16.54s 16.85s
Angular - node (v12.1.0, x64)
Memory used 322,660k (± 0.03%) 322,020k (± 0.02%) -640k (- 0.20%) 321,836k 322,178k
Parse Time 1.90s (± 0.27%) 1.78s (± 0.78%) 🟩-0.12s (- 6.42%) 1.75s 1.81s
Bind Time 0.82s (± 0.58%) 0.82s (± 0.70%) +0.01s (+ 0.73%) 0.81s 0.84s
Check Time 5.18s (± 0.40%) 5.08s (± 0.52%) -0.09s (- 1.78%) 5.03s 5.15s
Emit Time 5.73s (± 0.57%) 5.67s (± 0.65%) -0.06s (- 1.10%) 5.59s 5.79s
Total Time 13.63s (± 0.31%) 13.36s (± 0.47%) -0.27s (- 1.97%) 13.24s 13.52s
Compiler-Unions - node (v12.1.0, x64)
Memory used 187,692k (± 0.14%) 187,787k (± 0.09%) +95k (+ 0.05%) 187,296k 188,098k
Parse Time 0.77s (± 0.75%) 0.78s (± 1.07%) +0.01s (+ 0.78%) 0.76s 0.79s
Bind Time 0.53s (± 0.75%) 0.53s (± 0.42%) 0.00s ( 0.00%) 0.53s 0.54s
Check Time 7.09s (± 0.79%) 7.11s (± 0.68%) +0.02s (+ 0.23%) 7.01s 7.23s
Emit Time 2.25s (± 0.72%) 2.25s (± 0.70%) -0.00s (- 0.09%) 2.22s 2.28s
Total Time 10.65s (± 0.58%) 10.66s (± 0.59%) +0.01s (+ 0.14%) 10.53s 10.80s
Monaco - node (v12.1.0, x64)
Memory used 324,004k (± 0.02%) 323,451k (± 0.02%) -553k (- 0.17%) 323,230k 323,634k
Parse Time 1.53s (± 0.84%) 1.43s (± 0.77%) 🟩-0.10s (- 6.41%) 1.40s 1.45s
Bind Time 0.72s (± 0.82%) 0.72s (± 0.55%) -0.00s (- 0.41%) 0.71s 0.73s
Check Time 5.25s (± 0.32%) 5.20s (± 0.46%) -0.05s (- 0.91%) 5.16s 5.25s
Emit Time 3.02s (± 0.83%) 3.01s (± 0.76%) -0.02s (- 0.60%) 2.97s 3.05s
Total Time 10.52s (± 0.31%) 10.36s (± 0.37%) -0.16s (- 1.56%) 10.27s 10.46s
TFS - node (v12.1.0, x64)
Memory used 288,719k (± 0.01%) 288,509k (± 0.02%) -210k (- 0.07%) 288,391k 288,604k
Parse Time 1.22s (± 0.68%) 1.19s (± 1.08%) -0.03s (- 2.06%) 1.16s 1.22s
Bind Time 0.69s (± 0.64%) 0.69s (± 1.19%) -0.01s (- 0.72%) 0.67s 0.71s
Check Time 4.79s (± 0.43%) 4.77s (± 0.67%) -0.01s (- 0.25%) 4.69s 4.85s
Emit Time 3.12s (± 0.56%) 3.10s (± 0.59%) -0.02s (- 0.58%) 3.06s 3.16s
Total Time 9.82s (± 0.30%) 9.76s (± 0.46%) -0.06s (- 0.59%) 9.67s 9.86s
material-ui - node (v12.1.0, x64)
Memory used 452,015k (± 0.01%) 450,213k (± 0.05%) -1,802k (- 0.40%) 449,260k 450,499k
Parse Time 1.93s (± 0.50%) 1.73s (± 0.54%) 🟩-0.20s (-10.42%) 1.71s 1.75s
Bind Time 0.63s (± 1.50%) 0.64s (± 0.57%) +0.00s (+ 0.32%) 0.63s 0.64s
Check Time 12.91s (± 0.77%) 12.84s (± 0.69%) -0.08s (- 0.60%) 12.66s 12.99s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.48s (± 0.65%) 15.20s (± 0.62%) -0.27s (- 1.77%) 15.02s 15.38s
Angular - node (v14.15.1, x64)
Memory used 321,456k (± 0.01%) 320,743k (± 0.00%) -713k (- 0.22%) 320,705k 320,772k
Parse Time 1.90s (± 0.82%) 1.81s (± 0.49%) 🟩-0.09s (- 4.89%) 1.79s 1.83s
Bind Time 0.87s (± 0.34%) 0.87s (± 0.66%) +0.00s (+ 0.11%) 0.86s 0.89s
Check Time 5.21s (± 0.55%) 5.13s (± 0.37%) -0.07s (- 1.42%) 5.08s 5.16s
Emit Time 5.79s (± 0.66%) 5.82s (± 1.50%) +0.03s (+ 0.52%) 5.67s 6.12s
Total Time 13.77s (± 0.37%) 13.64s (± 0.73%) -0.14s (- 0.99%) 13.42s 13.95s
Compiler-Unions - node (v14.15.1, x64)
Memory used 189,143k (± 0.50%) 188,803k (± 0.58%) -339k (- 0.18%) 186,530k 189,805k
Parse Time 0.80s (± 0.45%) 0.80s (± 0.56%) -0.00s (- 0.25%) 0.79s 0.81s
Bind Time 0.56s (± 0.65%) 0.56s (± 0.93%) +0.01s (+ 0.90%) 0.55s 0.57s
Check Time 7.17s (± 0.63%) 7.17s (± 0.69%) +0.00s (+ 0.07%) 7.09s 7.33s
Emit Time 2.25s (± 0.84%) 2.26s (± 0.94%) +0.01s (+ 0.36%) 2.22s 2.33s
Total Time 10.77s (± 0.55%) 10.79s (± 0.57%) +0.01s (+ 0.13%) 10.67s 10.94s
Monaco - node (v14.15.1, x64)
Memory used 323,174k (± 0.01%) 322,497k (± 0.01%) -677k (- 0.21%) 322,447k 322,537k
Parse Time 1.57s (± 0.86%) 1.47s (± 0.70%) 🟩-0.10s (- 6.49%) 1.45s 1.49s
Bind Time 0.75s (± 0.94%) 0.74s (± 0.66%) -0.01s (- 0.67%) 0.73s 0.75s
Check Time 5.23s (± 0.35%) 5.19s (± 0.59%) -0.04s (- 0.75%) 5.12s 5.26s
Emit Time 3.07s (± 0.46%) 3.08s (± 0.47%) +0.01s (+ 0.46%) 3.05s 3.13s
Total Time 10.62s (± 0.29%) 10.48s (± 0.39%) -0.13s (- 1.27%) 10.42s 10.62s
TFS - node (v14.15.1, x64)
Memory used 287,743k (± 0.01%) 287,591k (± 0.01%) -152k (- 0.05%) 287,538k 287,655k
Parse Time 1.26s (± 0.69%) 1.25s (± 0.95%) -0.01s (- 1.11%) 1.22s 1.27s
Bind Time 0.71s (± 0.94%) 0.71s (± 0.51%) +0.00s (+ 0.14%) 0.71s 0.72s
Check Time 4.86s (± 0.59%) 4.81s (± 0.40%) -0.06s (- 1.15%) 4.74s 4.83s
Emit Time 3.21s (± 0.93%) 3.21s (± 0.69%) +0.01s (+ 0.16%) 3.18s 3.26s
Total Time 10.05s (± 0.41%) 9.98s (± 0.42%) -0.07s (- 0.65%) 9.86s 10.03s
material-ui - node (v14.15.1, x64)
Memory used 450,177k (± 0.03%) 448,631k (± 0.00%) -1,546k (- 0.34%) 448,603k 448,675k
Parse Time 1.98s (± 0.62%) 1.79s (± 0.53%) 🟩-0.20s (- 9.94%) 1.76s 1.81s
Bind Time 0.70s (± 0.98%) 0.69s (± 0.84%) -0.00s (- 0.43%) 0.68s 0.71s
Check Time 13.13s (± 0.56%) 12.99s (± 0.56%) -0.14s (- 1.09%) 12.85s 13.20s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.81s (± 0.48%) 15.46s (± 0.46%) -0.34s (- 2.18%) 15.35s 15.68s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-206-generic
Architecturex64
Available Memory16 GB
Available Memory2 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)
Benchmark Name Iterations
Current 44173 10
Baseline master 10

Developer Information:

Download Benchmark

@amcasey amcasey merged commit 7954f0c into microsoft:master May 24, 2021
@amcasey amcasey deleted the NormalizePath branch May 24, 2021 16:38
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.

4 participants