Author |
Topic |
|
Steve Richter
New Member
5 Posts |
Posted - Sep 27 2004 : 09:09:47 AM
|
I have been writing a lot of code over the past year. I am noticing that the more code I write, the more sluggish the editor becomes. As in it is taking Visual Assist longer and longer to search its internal tables for the symbol names in my code.
Is that plausible? I am running on a very fast PC ( 64 bit AMD ). The startup of Visual Studio, where Visual Assist parses all of my code, does not take noticeably longer than it did months ago. Just the editor functions, typing characters and pressing the return key are getting slower and slower.
thanks,
-Steve
|
|
Stephen
Tomato Guru
United Kingdom
781 Posts |
Posted - Sep 27 2004 : 09:48:33 AM
|
I've never seen this. Does it improve if you disable VA? |
Stephen Turner ClickTracks http://www.clicktracks.com/ Winner: ClickZ's Best Web Analytics Tool 2003 & 2004
|
|
|
LarryLeonard
Tomato Guru
USA
1041 Posts |
Posted - Sep 27 2004 : 09:56:19 AM
|
Although I hesitate to bring this up again, did you try deleting your NCB file?
|
|
|
Steve Richter
New Member
5 Posts |
Posted - Sep 27 2004 : 11:19:14 AM
|
quote: Originally posted by Stephen
I've never seen this. Does it improve if you disable VA?
I disabled VA and the editor was still sluggish. I also notice it is only sluggish when editting a source file that contains template classes. go figure! Looks like something I will have to get used to.
thanks,
-Steve
|
|
|
Stephen
Tomato Guru
United Kingdom
781 Posts |
Posted - Sep 27 2004 : 11:22:00 AM
|
Try deleting the ncb file like Larry suggested. |
Stephen Turner ClickTracks http://www.clicktracks.com/ Winner: ClickZ's Best Web Analytics Tool 2003 & 2004
|
|
|
Steve Richter
New Member
5 Posts |
Posted - Sep 29 2004 : 2:30:21 PM
|
quote: Originally posted by Stephen
Try deleting the ncb file like Larry suggested.
thanks for the tip. I deleted the .ncb file of the project but the sluggishness remains.
-Steve
|
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Sep 29 2004 : 5:50:25 PM
|
just to put some numbers on this, how big is your project? 100 cpp files? 1,000 cpp files? 10,000 cpp files?
do you have any other addin's installed? could an anti-virus program be a factor? including the Qt library, which is part of the work space, i run VAX on a "large" project at work without any slow down. |
zen is the art of being at one with the two'ness |
|
|
Steve Richter
New Member
5 Posts |
Posted - Oct 01 2004 : 11:50:16 AM
|
quote: Originally posted by feline
just to put some numbers on this, how big is your project? 100 cpp files? 1,000 cpp files? 10,000 cpp files?
do you have any other addin's installed? could an anti-virus program be a factor? including the Qt library, which is part of the work space, i run VAX on a "large" project at work without any slow down.
The CPP file that is the most sluggish is 238kb. Another 15 cpp files in the project are average 40kb each. My compiles used to be slow, 2 minutes on a 2G pentium 4. Since a recent upgrade to an amd64 compiles are much faster, 15 seconds.
Nothing fancy on this PC. No AV, no firewall. No indication that it has a virus. Just internet, email and Visual Studio. Is 238KB considered too large? My workaround is to split my files into smaller files, but since I try to always have a .h file for every .cpp file, that process takes way too much effort.
thanks,
-Steve
|
|
|
LarryLeonard
Tomato Guru
USA
1041 Posts |
Posted - Oct 01 2004 : 12:41:47 PM
|
"The CPP file that is the most sluggish is 238kb."
Based on my code, I would estimate that to be about 9000 lines of code in one file.
And VAX is sluggish, you say? Hmmm....
|
|
|
Steve Richter
New Member
5 Posts |
Posted - Oct 01 2004 : 2:07:59 PM
|
quote: Originally posted by LarryLeonard
"The CPP file that is the most sluggish is 238kb."
Based on my code, I would estimate that to be about 9000 lines of code in one file.
And VAX is sluggish, you say? Hmmm....
( I am actually in a good mood right now. Sluggish editor notwithstanding, I just got the latest addition to my 9000 line masterpiece to work! )
It compiles quickly enough. Does Visual Studio actually store the text it is editing in a vector<string> instead of a map<key,string> or list<string>?
|
|
|
Old as dirt
Tomato Guru
USA
246 Posts |
Posted - Oct 01 2004 : 2:18:21 PM
|
And I was embarressed that I had a 3600 line file. I don't have any problem with spreading a class out over multiple files with just one .h file. I can see why if you stick with the idea that there is a one to one match between .h files and .cpp files that splitting the file apart would be painful. My longest file is so long because it is one function. I have moved a lot of the code out to other files with functions that are only called by this function and I did that just to keep the file from getting so big. If you have more than one function in you big file then it should be a piece of cake to split it up. |
Ken |
|
|
keithb
Junior Member
USA
19 Posts |
Posted - Oct 01 2004 : 3:05:06 PM
|
When was the last time you defragged your hard drive? |
|
|
ivan
Ketchup Master
Russia
75 Posts |
Posted - Oct 01 2004 : 6:35:32 PM
|
If your editor is sluggish even when you have VA disabled, it must be the IDE's fault, not VA's. The thing you mentioned about templates makes me think the 'sluggishness' may be caused by IntelliSense parser, since parsing code with instances of template classes is a much more complex task. Not to mention that STL itself isn't very parser-friendly. ;>
Try to turn all IntelliSense-related options in Tools/Options/Text Editor/C++ off, disable VA and see if typing gets any faster. I'm not sure it will work but could be worth the try... |
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Oct 04 2004 : 08:33:21 AM
|
a 9,000 line fine? cool
i was impressed when i reached a 2,700 line cpp file. |
zen is the art of being at one with the two'ness |
|
|
Stephen
Tomato Guru
United Kingdom
781 Posts |
Posted - Oct 04 2004 : 08:48:09 AM
|
That's not as impressive as Ken's 3600 line function. |
Stephen Turner ClickTracks http://www.clicktracks.com/ Winner: ClickZ's Best Web Analytics Tool 2003 & 2004
|
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Oct 04 2004 : 11:31:37 AM
|
i am really hoping he is joking about that! i have written some fairly long functions, but surely this is a little extreme?
perhaps Ken is practising this "extreme programming" i keep on reading references to |
zen is the art of being at one with the two'ness |
|
|
Stephen
Tomato Guru
United Kingdom
781 Posts |
Posted - Oct 04 2004 : 12:28:30 PM
|
That was after he'd refactored it too. |
Stephen Turner ClickTracks http://www.clicktracks.com/ Winner: ClickZ's Best Web Analytics Tool 2003 & 2004
|
|
|
LarryLeonard
Tomato Guru
USA
1041 Posts |
Posted - Oct 04 2004 : 1:42:29 PM
|
Probably it was a side-effect of "pair-programming": when you and your partner can't decide which way is better, just code it both ways!
|
|
|
feline
Whole Tomato Software
United Kingdom
19021 Posts |
Posted - Oct 04 2004 : 5:34:09 PM
|
quote: Originally posted by Stephen
That was after he'd refactored it too.
*hides* oh god, yes, i do recall reading that, but somehow it didnt sink in. dare i ask what this function does? just dont tell me it is called: int doStuff(); |
zen is the art of being at one with the two'ness |
|
|
Old as dirt
Tomato Guru
USA
246 Posts |
Posted - Oct 04 2004 : 7:25:34 PM
|
Unfortunately it is not a joke. It could be from an extreme lack of planning. This is just one function of a class that has over a hundred public functions. This is the longest of the bunch by quite a bit. It is NOT called doStuff(). With that many functions to keep up with I try to use descriptive names. This isn't from pair-programming either. The other programmer on this project is on the other side of an interface. This class is part of a dll that he loads and calls. We split it up into an exe and several dlls because it was really getting out of hand. The good news is that I don't have any sluggishness in the editor. I suspect there is some limit where the editor doesn't keep everything in core and I'm trying to not find out what that limit is. I'm glad I could provide you with some amusement. |
Ken |
|
|
|
Topic |
|