Author |
Topic |
|
greysphere
New Member
USA
3 Posts |
Posted - May 06 2024 : 5:33:30 PM
|
Upgraded to the current version (10.9.2515) on VS2022 (17.9.34728.123) and Alt-M takes about a second to fill in the dropdown box on a 7k line C++ file with a couple hundred functions (no templates, no classes/methods, nothing at all crazy). 50k file with 1000 functions is ~5sec.
My last version (I'm guessing was 2019-ish on VS2017) this operation was instant.
Is there anything I can do with VA to avoid this lag?
I'm going to try to find a build that doesn't have this problem. Wish me luck. |
|
greysphere
New Member
USA
3 Posts |
Posted - May 06 2024 : 6:10:17 PM
|
2471 Alt-m is about 2x as fast.
2443 is even faster - <100ms on the 7k file. Maybe 300ms for the 50k file. (300ms is still noticeable, but miles better than ~5s). Hmm, there does seem to be a cache clear or something because after 2min alt tabbed writing this the 50k file was more like 1sec the first time. And looks like typing something in the file seems to invalidate the cache as well. So seems like ~1s for real world use cases on the 50k file. 7k file after typing is still probably in the 100-200ms range.
Doesn't seem like anything older works w/ VS 2022. |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - May 07 2024 : 07:46:47 AM
|
File size alone does not seem to matter, the Alt-M list is appearing "instantly" for me in a large test cpp file, which is 23,000 lines long. It doesn't contain many methods though.
So, I have found another large file. This file is 26,000 lines long, and using the Powershell command:
Select-String "^\w+" .\test_large_number_of_methods.cpp | Measure-Object -Line
to basically do a grep on the file, I am being told that this test file contains 1556 functions.
Running under Windows 10, with VS2022 version 17.9.6 and VA 2520, the Alt-M list is appearing in this file after maybe 2 to 3 seconds. Yes, a slight delay, but not seeming as bad as the numbers you are seeing.
More interestingly, I am seeing basically the same performance, in the same test file, when using VA 2443.0, so I am not seeing any clear signs of the Alt-M list getting slower, at least not so far.
Are you seeing this problem in library code, or code from your solution? If this is library code, is it a library I can simply download? I am looking for an easy way to test the same files you are testing, to see if this will let me produce the same results here. We are clearly seeing different results, but I am not sure why. |
zen is the art of being at one with the two'ness |
|
|
greysphere
New Member
USA
3 Posts |
Posted - May 08 2024 : 5:31:12 PM
|
I ran some more tests. I think my original 2515 numbers could be inflated due to having the project open a long time (weeks). After reboots and reinstalls I get numbers that seem similar to what you are seeing. I also tried on a 'complex' library file that I've uploaded to github at https://github.com/gatesjef/vafiles (the previous files are app files, unfortunately).
Here's a summary of the results (everything has ~20% error):
botan_all_android.cpp // complex - 100k, classes and templates and all sorts of stuff 2520 ~7 sec cold, ~1sec hot 2515 ~6 sec cold, ~2sec hot 2443 ~7 sec cold, ~2sec hot
myfile50k.cpp // simple - ~1000 functions 2520 ~2 sec cold, 300ms hot 2515 ~2 sec cold, 300ms hot 2515 (long) ~ 5s cold, 2s hot 2443 ~2 sec cold, 100ms hot (this could be in my head, but the hot case feels slightly faster, but very minor)
myfile7k.cpp // simple - ~100 functions 2520 instant 2515 instant 2515 (long) 1sec cold, ~100ms 2443 instant
So the answer seems to be 'reboot your machine' which I probably should have tried from the get go.
I don't have access to my old machine to compare, so the only thing I can say is "I never noticed this before" so take that for what it's worth. So maybe there's something there, or maybe it's in my head.
I think my concerns are addressed. Thanks for following up with this. |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - May 21 2024 : 1:27:00 PM
|
Strange that this builds up over time, but I am glad you have found a simple solution. Since I am in and out of different tests all the time none of my IDE's tend to have much up time, so not something I am likely to run into. |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|
|
|