Over the last two weeks I've been getting the yellow banner in Visual Studio stating We've noticed the extension 'CodeRush' is slowing typing performance
. Now it seems to happen several times a day and I think it primarily occurs when I'm typing in XAML. Attached are my CodeRush log files from an execution where this occurred. It appears that at least on my machine, exceptions are being thrown.
Machine specs: Core i9-9900K, 32 GB RAM, 970 EVO SSD, GTX 1060, Windows 10 Enterprise v2004 (build 19041.450)
Thanks
I have disabled IntelliRush to see if that makes an impact. First thoughts, yes, it appears faster but I need to wait over a few days to determine if Visual Studio complains any longer.
Hello Adam,
Thank you for the logs. We have reviewed them and fixed all the exceptions. But I am not sure that these exceptions are the cause of delays.
I see performance marks from IntelliRush in your logs. It would be great if you can collect performance monitor logs. I hope that they will help us find the cause faster.
Please follow the steps below:
Update: Today I worked throughout the day in XAML and did not see the yellow VS banner. Late in the day I typed a single question mark character in a large c# class (null conditional operator) and received the yellow VS banner about CodeRush performance. After that I enabled the Performance Monitor but to no avail as I did not receive it again the perf was adequate. I'll try again tomorrow.
Thank you for the update, Adam.
We are waiting for your results.
I was able to reproduce this scenario in the following way:
In the VS performance dialog it states that it takes about 3000ms to type the doublequote (I ran through this approach several times).
Attached is the log file. I also recorded a screencast. Thank you.
Great job! Thank you for the logs and video.
We see in your logs, that runtime can't resolve the type from the "Microsoft.CodeAnalysis.EditorFeatures" assembly on your PC.
Please make another attempt.
It would be great if you share with us the Microsoft.CodeAnalysis.EditorFeatures.dll. You can also find it in this assembly list.
We want to check, whether your version of the Microsoft.CodeAnalysis.EditorFeatures.dll contains types we are trying to resolve.
Attached is a csv with the loaded Modules along with the requested assembly. Thanks.
Thank you for this information. We need some time to analyze it. Please bear with us.
We are looking for a way to fix the issue. Would you please check whether the issue is reproducible if switch CodeRush->Options…->IDE->IntelliSense

to the Always expand IntelliSense (may prevent access to some CodeRush templates)
This should help us to ensure that we are moving in right direction.
Thank you in advance. We greatly appreciate your cooperation.
I did as suggested and selected Always expand IntelliSense (may prevent access to some CodeRush templates) and the delay is the same (3207ms delay) to type my first character. I used the same files and character (doublequote) as last time. Thanks.
Thank you for this investigation. It seems that we were moving in the wrong direction, and the Performance Monitor logs that you collected before do not contain stacks with this delay. Unfortunately we can't reproduce the issue on our side and have to ask you for further assistance.
Please collect the perf view data related to this issue using the PerfView tool from Microsoft during the slowdown and share this information with us:
You can upload the log files to our FTP with the following credentials:
Server: downloads.devexpress.com
User: UPLOAD
Password: HEREYOUARE
It would be great if you share the .xaml and code behind files where the issue is reproducible so that we can replicate it on your side. Also, please send us your CodeRush settings. Just go to the CodeRush->Support->Import and Export Settings… dialog, export the settings to a file, and share the file with us.
We look forward to hearing from you.
Files uploaded, thank you!
Thank you. Please give us some time to analyze them.
We have found delays in your logs and are working on a fix. Please bear with us. We will let you know once we make any progress.
Hi Adam,
In your logs we found that significant time is consumed when we call the Type.GetType method to create types using .net reflection. In some cases this forces assemblies to additionally load - this was the source of delays. We changed the logic of using .net reflection, and now our internal tests show that the issue is gone.
Please install the following build and share your results with us:
http://downloads.devexpress.com/Share/IDE/200831/DevExpress.CodeRush-20.1.6.20244.exe
Excellent, that makes sense. With this internal build I'm unable to reproduce the problem (no real lag and no yellow banner). Now, it appears the first character entry is much quicker (less than half a second) versus the >3000ms I was getting. I think you found the culprit, thank you.
Hi Adam,
Thank you for the update! Your active cooperation helps us to find the cause of the issue and fix it!