When completion list has over 3000 items in it, its REALLY slow.

SyntaxEditor for WPF Forum

Posted 2 years ago by Josh
Version: 17.2.2
Platform: .NET 4.7
Environment: Windows 10 (64-bit)
Avatar

Hello,

We are populating the completion list with over 3000 items, and when the user is typing just garbage like "asdfasdfsdfdsfsdfsdfdsf", it takes forever as the completion list is trying to filter.

We have the following match options set:

				var session = new CompletionSession
				{
					CanCommitWithoutPopup = canCommitWithoutPopup,
					CanFilterUnmatchedItems = true,
					CanHighlightMatchedText = false,
					RequiresFilterOnTextChange = true,
					DescriptionTipMaxWidth = QuickInfoProvider.MAX_WIDTH,
					MatchOptions = CompletionMatchOptions.UseAcronyms | CompletionMatchOptions.UseShorthand | CompletionMatchOptions.IsCaseInsensitive | CompletionMatchOptions.TargetsDisplayText,
				};

If we remove the UseShorthand, its MUCH faster.  However, our users really appreciate the shorthand because they do substring type of searches.

Any suggestions on making this quicker without removing the UseShorthand?

Thanks,

Josh

Comments (4)

Posted 2 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Josh,

This related forum thread has a good explanation of the core performance issue when using shorthand with CanFilterUnmatchedItems.

Back in March 2022, we made some optimizations in the Regex objects used to improve matching performance.  It's still not where we want it to be peformance-wise and has a slight delay, but it's a bit better than before.  Those changes were in the v22.1.1 build.

And per that other thread, we still do have a TODO item to look into other future updates but they would likely require some major refactoring, such as moving to more of an async model.


Actipro Software Support

Posted 2 years ago by Josh
Avatar

Thank you.  As of now, there is nothing I can really do besides turn off the UseShorthand?

Posted 2 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hi Josh,

You could try the newer build to see if the performance is improved enough for your usage scenario.  But other than that, you would have to choose to not use shorthand together with CanFilterUnmatchedItems.  You could turn one of those off and I believe performance should improve.


Actipro Software Support

Answer - Posted 2 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hello,

We wanted to let you know that for the upcoming v22.1.3 maintenance release, we have refactored the Shorthand item matcher algorithm so that it now runs several times faster.  It can finally be used with the CanFilterUnmatchedItems option with no performance degradation.


Actipro Software Support

The latest build of this product (v24.1.2) was released 2 days ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.