Skip to content

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

New issue

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

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

Already on GitHub? # to your account

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
# for free to join this conversation on GitHub. Already have an account? # 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