Skip to content

Lots of allocations and time spent in LexFilter #6006

@TIHan

Description

@TIHan

The results are from when I did a trace with this PR: #6001

Now that source files are not showing up in the traces anymore, we can start to see what's coming up next in our list.

These traces were done when making a single modification in the middle of TypeChecker.fs, around line 6699 then waiting for semantic classification to kick in as well as errors.

GC Heap Allocs
untitled

Cpu Stacks
untitled2

--

The next traces below are the same thing, except I removed calls to Tokenizer.getClassifiedSpans in some of our analyzers.

GC Heap Allocs
untitled3

Cpu Stacks
untitled4

It seemed to make a slight bit of a difference, but LexFilter and interpret still show up at top in Cpu Stacks and TokenTup (it's inside LexFilter) in GC Heap Allocs.

My fear was that calls to Tokenizer.getClassifiedSpans were slowing things down due to brace completions and syntactic classification.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions