[DevExpress Support Team: CLONED FROM T441666: Issues with CodeRush for Roslyn]
I have the following issues / questions / requests. Sorry if they've already been asked; it's basically impossible to determine what keywords to search by.
* "Jump to symbol" (using local file only) is at least 10X slower than classic. Must be processing entire solution (huge) even though I have set it to include only items in the current file.
Thanks!
I have tried to reproduce this, however, "Jump to Symbol" works quite fast when only the file is selected.
Please see the following screencast showing it in action:
http://screencast.com/t/gKQoRVoD
It would be great if you provide us with more information on this issue.
OK, I used that same tool to capture my time. OF COURSE, the area of the screen I selected didn't capture the full view of the little dialog that comes up, but you can still see how long it takes. I see a spinner in the dialog while it's building.
Brad,
This might happen the first time the solution is loaded.
Jump to Symbol is building a cache of symbols, but all subsequent times should not take much time.
Would you please verify that this is the case?
Well, in testing now, it's working fine (of course). But consistently (other than right now), I get the spinner for a second or 2.
Brad,
I agree with you that this area might be improved, however, I think we need more information on this issue.
Which programming language are you working with?
How many projects are there in the solution?
Does it happen after large code changes or maybe there is some other usage pattern you can notice?
* C#. Xaml files, not much else.
* About 50 projects (sometimes I open another folder of projects, but not usually).
* Seems pretty consistent. The only time I've not seen it happen is the case I just mentioned above. Have seen it several times just since then.
Brad,
Thank you for the additional information. Just to clarify - do you see the delay after the new solution is opened or do you see this delay consistently on the same solution?
It would be also very helpful if you could collect perf view data on this issue using the PerfView tool from Microsoft during slowdown and provide us with this information.
For this, install this tool and perform steps shown in the screencast.
I suggest you upload the log files to our ftp. Use the following credentials:
Server: ftp.devexpress.com
User: UPLOAD
Password: HEREYOUARE
I have also discussed this with the team and we have decided to improve the "Jump to Symbol" feature so that it will use symbols from an active file only when filtering by it is enabled. Therefore, I have created the following ticket on your behalf:
"Jump to symbol" - Use active file symbols when filtering by an active file is applied
This issue implies the cause is known. Is that not the case?
Brad,
Currently the "Jump to Symbol" feature uses the symbols solution cache. When it is invoked for the first time, the solution cache is being built. That is why there is some delay after opening the solution. Each time the solution is reopened, a new cache should be built. However from your notes I understand that such delays happen even after the solution cache was built and with subsequent feature invocations.
We decided to improve the "Jump to Symbol" feature and use symbols directly from an active file when a corresponding filter is applied. That is the task I have moved to the ""Jump to symbol" - Use active file symbols when filtering by an active file is applied" ticket.
While this change should improve the behavior when searching for symbols inside an active file, this is not a complete solution. We still cannot reproduce a situation when a subsequent invocation of the "Jump to Symbol" feature causes a delay even after the symbols cache was already built. We will be more than happy to examine this situation in detail and find why this delay occurs. So, if you can provide us with additional information, that would be extremely helpful for us. Thank you in advance!
OK, perf results uploaded. First jumped to file, then to method (actually, just waited for method to appear).
Brad,
Thank you for the PerfView report. Please give us some time to research it. I will get back to you as soon as we have any results.
Brad,
We have examined the PerfView data provided and found several places where we can optimize performance of "Jump to Symbol" UI calculations.
I have passed this ticket to our developers. We will let you know as soon as we have any results with this issue.