Skip to content

XMLDocCommandService doesn't work and is a notable source of UI delays in VS #6076

@cartermp

Description

@cartermp

Using PerfWatson to check my UI delays, this was showing up as the number 2 source of UI delays:

image

Lots of delays >= 5s, with two at least 60s in length.

However, the feature doesn't appear to work, so we're paying the cost of it without benefiting at all.

This line may be the ultimately source:

https://github.com/Microsoft/visualfsharp/blob/9b55eccd1bc83ed123c5ae08c577be5646861830/vsintegration/src/FSharp.Editor/Commands/XmlDocCommandService.fs#L70

For large enough files this will allocate large strings on the Large Object Heap, which will eventually lead to long GC pause times.

The feature could be fixed, but it's unclear how long it's been broken and if folks have even noticed.

Even if it's fixed and works again, the UI delay issue won't get solved. So I recommend turning it off by default in options and then trying to fix it again, but doing so in a way that avoids allocating the contents of the file into a string.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions