sam-goodwin / eventual

Build scalable and durable micro-services with APIs, Messaging and Workflows
https://docs.eventual.ai
MIT License
174 stars 4 forks source link

chore: improve performance #349

Closed thantos closed 1 year ago

thantos commented 1 year ago

Reduces a clean build from ~54s to 36s.

Before

Aggregate Files:                        18481
Aggregate Lines of Library:            544597
Aggregate Lines of Definitions:       3342699
Aggregate Lines of TypeScript:          76358
Aggregate Lines of JavaScript:              0
Aggregate Lines of JSON:                   36
Aggregate Lines of Other:                   0
Aggregate Identifiers:                3410407
Aggregate Symbols:                    3073062
Aggregate Types:                      1260008
Aggregate Instantiations:             2382623
Aggregate Memory used:               1647914K
Aggregate Assignability cache size:    187093
Aggregate Identity cache size:          15175
Aggregate Subtype cache size:            7936
Aggregate Strict subtype cache size:     4248
Aggregate Tracing time:                 3.63s
Aggregate I/O Read time:                0.34s
Aggregate Parse time:                   5.39s
Aggregate ResolveModule time:           0.98s
Aggregate ResolveTypeReference time:    0.02s
Aggregate Program time:                 9.13s
Aggregate Bind time:                    1.82s
Aggregate Check time:                  20.19s
Aggregate transformTime time:           0.77s
Aggregate Source Map time:              0.13s
Aggregate commentTime time:             0.15s
Aggregate printTime time:               2.46s
Aggregate Emit time:                    2.47s
Aggregate I/O Write time:               0.07s
Aggregate Dump types time:             19.69s
Config file parsing time:               0.09s
Up-to-date check time:                  0.01s
Build time:                            54.47s

After

Aggregate Files:                        17715
Aggregate Lines of Library:            544597
Aggregate Lines of Definitions:       3355498
Aggregate Lines of TypeScript:          76358
Aggregate Lines of JavaScript:              0
Aggregate Lines of JSON:                   36
Aggregate Lines of Other:                   0
Aggregate Identifiers:                3394864
Aggregate Symbols:                    3035245
Aggregate Types:                       616124
Aggregate Instantiations:             2587465
Aggregate Memory used:               1427175K
Aggregate Assignability cache size:    125470
Aggregate Identity cache size:          11118
Aggregate Subtype cache size:            7919
Aggregate Strict subtype cache size:     4206
Aggregate Tracing time:                 1.03s
Aggregate I/O Read time:                0.26s
Aggregate Parse time:                   4.60s
Aggregate ResolveModule time:           0.80s
Aggregate ResolveTypeReference time:    0.02s
Aggregate Program time:                 7.65s
Aggregate Bind time:                    1.80s
Aggregate Check time:                  10.50s
Aggregate transformTime time:           0.70s
Aggregate Source Map time:              0.14s
Aggregate commentTime time:             0.14s
Aggregate printTime time:               2.39s
Aggregate Emit time:                    2.40s
Aggregate I/O Write time:               0.07s
Aggregate Dump types time:             12.70s
Config file parsing time:               0.06s
Up-to-date check time:                  0.00s
Build time:                            36.13s