Skip to content

GetMemberTypeInFSharpForm produces indirectly produces a large amount of Tuple instantiations causing UI delays in VS #5938

@davkean

Description

@davkean

Trace: https://developercommunity.visualstudio.com/content/problem/245786/slow-f-editing-experience-up-to-a-minute-until-typ.html

GC Rollup By Generation

Gen Count MaxPause MaxPeak MB Max AllocMB/sec TotalPause TotalAlloc MB Alloc MB/MSec GC Survived MB/MSec GC MeanPause Induced
ALL 5196 1,652.0 744.6 8,424.125 40,245.7 29,166.1 0.7 1.026 7.7 18
0 3869 886.0 744.6 8,424.125 14,865.1 20,456.4 0.5 0.083 3.8 0
1 1286 53.5 744.6 3,284.108 17,473.7 8,524.0 0.6 0.746 13.6 0
2 41 1,652.0 744.6 502.652 7,906.8 185.7 0.3 7.355 192.8 18

This method indirectly causes large amounts of allocations, in above trace we're talking 6 GB:

image

Of which are made up of nearly entirely Tuples or lists of Tuples:

image

I don't know enough about this method to know if this needs to broken up further into a little more actionable task.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions