-
Notifications
You must be signed in to change notification settings - Fork 839
Closed
Labels
Description
I'm looking at various perf snapshots and seeing that in many of them about 20-30% of the time that FCS takes to analyse a project graph is spent in GC. Here's the last example, GC takes 41 seconds:
Could we work on finding a systematic approach that would allow us to reduce allocations where possible? Possible things are:
- reuse some collection objects
- don't create intermediate lists and use state machine list builders instead
- use arrays and mutation
- don't recalculate things where possible
Some of these things aren't very idiomatic in a functional language, but when talking about compiler and editor analysis engine, I think a better performance should matter more than being completely idiomatic.
rstm-sf, vzarytovskii and kostya9
