Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 Is that possible to find reference in multi-thread
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

48103749
Junior Member

10 Posts

Posted - Nov 22 2020 :  09:19:58 AM  Show Profile  Reply with Quote
I am working on webrtc by a intel-i9 PC, as you know it's a huge open source.
Every time when use find-reference in all webrtc project, it will search a long time. the vissual assist seems to do the find in a single-thread.(the cpu usage is very low, the i9-cpu is not used efficient)

So, is that possible to find reference in multi-thread?
or is there any setting I missing?

(it's about reference-find in all project file, not symbol-parsing)

It would be very nice, if any body has any ideas, thx!~~

a long time to wait:



Edited by - 48103749 on Nov 23 2020 12:40:01 AM

feline
Whole Tomato Software

United Kingdom
17173 Posts

Posted - Nov 23 2020 :  10:09:36 AM  Show Profile  Reply with Quote
It is possible that the Find References is not CPU bound in your case. Or you might not have multi-threaded parsing enabled in VA.

As a simple sanity check, using VS2019 and VA 2393.0 I have loaded an Unreal Engine game solution. I don't know about webrtc, but my Unreal Engine solution has basically 30,000 files, so it is a good sized test case.

When I run Find References all 8 CPU cores on my system are running near 100%. I have checked this by running the Windows 10 program "Resource Monitor" and putting it on the CPU tab.

In your VA settings, can you please check and see what you have the following options set to:

VA Options -> Performance -> Enable multithreaded parsing
VA Options -> Performance -> Limit the maximum number of concurrent threads to X (requires restart)
VA Options -> Performance -> Thread priority = Normal / Below Normal / Lowest (requires restart)

zen is the art of being at one with the two'ness
Go to Top of Page

48103749
Junior Member

10 Posts

Posted - Nov 23 2020 :  10:30:41 AM  Show Profile  Reply with Quote
My VA version is 2333, and "Enable multithreaded parsing" is already selected. but no other two settings.
Maybe I should try 2393#12290;
Thanks for your advice#65281;~~~
Go to Top of Page

48103749
Junior Member

10 Posts

Posted - Nov 23 2020 :  11:14:57 AM  Show Profile  Reply with Quote
I tried 2393:



yes, the symbol parsing at the first time start VS with the project is faster.
but find-reference is still the same.

it seems that the setting in the screen-shot is only valid for symbol parsing, not for find-reference (Alt+Shift+F)

PS:
after setting, I have restarted the VS


Edited by - 48103749 on Nov 23 2020 11:20:14 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17173 Posts

Posted - Nov 23 2020 :  1:17:24 PM  Show Profile  Reply with Quote
Find References does use multiple threads. A simple way to confirm this is to run the same, fairly fast find that returns results across several files, several times, and the files will be returned in a different order on different runs, because different threads will return their results as they finish, adding a "random" element.

First up, can you please go to:

VA Options -> System Info -> Copy Info

and paste the details (from the clipboard) into your reply. This will give us the basic information about your setup.

How many files do you have in your solution?

If you open VA's Open File in Solution dialog (Alt-Shift-O) the title bar contains two numbers. The first number is the number of files currently listed, which changes as you filter the list. The second number is the total number of files in the list, which is normally the number of files in your solution. What is this second number?

Before starting another slow Find References can you please load the Windows 10 Resource Monitor program, and with this running, now run Find References. The Resource Monitor will allow you to easily see how many threads the "devenv.exe" process is using, your CPU load across your different CPU's, and also your Disk IO. If your Disk IO is maxed out then this could well be the limiting factor here.

Another thing to check is the memory usage for "devenv.exe". The Memory tab will let you see how much memory is being used by "devenv.exe", if this is near to 3gig then this might also be a factor.

zen is the art of being at one with the two'ness
Go to Top of Page

48103749
Junior Member

10 Posts

Posted - Nov 24 2020 :  10:54:53 AM  Show Profile  Reply with Quote
Thx for your replay, feline.
The anti-virus software reports virus for va*.dll of version 2393, so I uninstall the va temporarily, and will install again later. so the System Info can't be supplied now, and I will do it later.....

As my memory on (Alt+Shift+O):
the Webrtc source file contains about [10350 of 10350]

about "devenv.exe":
yes, as you said, I am used to use the "task manager" to monitor the cpu load; when do the "find-reference", the cpu load is about 15% averagely(ranges from about 7%~25%) for devenv.exe, and no more other app occupys the cpu

about the PC's momery:
64GB memory is equipmented, and the devenv.exe's occupation is bout 500MB+


about the SSD:
I use Samsung-970-M.2-1T, it read speed is about 3300MB/s, the SSD should not be the bottle of performence

Edited by - 48103749 on Nov 24 2020 10:59:34 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17173 Posts

Posted - Nov 24 2020 :  1:38:03 PM  Show Profile  Reply with Quote
While this is a large solution, it's not terribly large, and your memory usage is quite reasonable. With a SSD, hard drive IO should not be a problem.

Can you please close all instances of the IDE and then run the command:

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /RootSuffix VATest

this path assumes you are running VS2019 Professional edition. If not, you will need to edit the path to match the path for the version of Visual Studio you are using, but the command line switches will be the same.

This will create and load a new, default profile for Visual Studio, so you will be asked which basic settings you want to use, and you should only have the standard, default IDE extensions installed. Visual Assist will not be installed into this profile, so you will need to go into the dialog:

IDE Extensions menu -> Manage Extensions

and install Visual Assist from the online extension store, to install VA for this test profile.

To load your normal, default profile just load the IDE normally. To return to this test profile again, pass the /RootSuffix command line switch when loading the IDE. You can run both profiles at the same time, next to each other, but this tends to get confusing, so is normally best avoided. If you export your IDE settings from your main profile you can them import them into the test profile.

Can you please try doing a Find References in this test profile, and see what happens? I am trying to find out if something in your profile or your settings is a factor.

zen is the art of being at one with the two'ness
Go to Top of Page

48103749
Junior Member

10 Posts

Posted - Nov 24 2020 :  10:30:07 PM  Show Profile  Reply with Quote
Got it, let me try
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2019 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000