Skip to content

Conversation

@majocha
Copy link
Contributor

@majocha majocha commented Mar 1, 2023

This is related to #14826.

I reshuffled and simplified the old code of FSharpNavigateToSearchService quite a bit.

Operators now show up correctly in search results.

The code previously used Array.Parallel to collect search matches, so this was essentially not cancellable? This is replaced with Async.Parallel which should behave better.

Previously this service used MemoryCache with 10 sec lifetime. This may be controversial but I removed the MemoryCache in favor of simply caching everything in a ConcurrentDictionary. This could take up maybe a few MBs in worst cases, but there should be a lot less GC and CPU activity on subsequent searches. Cache is now cleared on solution close.

@majocha majocha requested a review from a team as a code owner March 1, 2023 18:42
Copy link
Contributor

@psfinaki psfinaki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this. If you have any benchmarks at your hand - feel free to add to the PR.

@psfinaki psfinaki enabled auto-merge (squash) March 2, 2023 09:41
@psfinaki
Copy link
Contributor

psfinaki commented Mar 2, 2023

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@psfinaki psfinaki merged commit 6a9c557 into dotnet:main Mar 3, 2023
@majocha majocha deleted the improve-go-to-all branch February 25, 2024 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants