Author |
Topic |
|
peterchen
Tomato Guru
126 Posts |
Posted - Sep 22 2014 : 03:48:05 AM
|
I've tried viwing "Includes" in the VA View for a typical file.
After almost one hour, it's still sitting with the
quote: Building tree hierachy: 91120 tree nodes
dialog, counting up by ~10/second (started out with ~100/second)
clicking "Cancel" give control back to visual studio, and counting stops, but the dialog does not disappear (and Visual Studio can't be closed except by terminating it through task manager)
While boost deps (such as shared_ptr.hpp) pull in large-ish sub trees, I'm not certian they really build up to 100k of dependencies.
Visual Studio 2008, VAX 10.9.2047.0 built 2014.09.16, Windows 8.1
|
Edited by - peterchen on Sep 22 2014 03:49:07 AM |
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Sep 22 2014 : 9:28:46 PM
|
quote: While boost deps (such as shared_ptr.hpp) pull in large-ish sub trees, I'm not certian they really build up to 100k of dependencies.
While compilers can skip whole branches that are defined again, we parse every branch. Skipping is especially fast when #pragma once is used, the compiler doesn't even need to open the file again.
An extremely simplified example: consider you include 2 files to a cpp:
#include <1.h>
#include <a.h>
#include <b.h>
#include <2.h>
#include <a.h>
#include <b.h>
We build the whole tree while the compiler skips a.h and b.h (and all files included by them) in 2.h. So our process will result in multiple times more items. Since this is a recursive process, we may need to work with say 1000 times more items.
The process is itself not superfast since this is only an extra feature - we didn't designed it to open ALL nodes at once, originally. Since this is a tree, you should not need to do this expand all at the root level, since you can work with the tree directly.
quote: clicking "Cancel" give control back to visual studio, and counting stops, but the dialog does not disappear
Are you always able to reproduce this or was this a one-off problem? Does it make any difference if you cancel it after a few items or wait more? |
|
|
peterchen
Tomato Guru
126 Posts |
Posted - Sep 30 2014 : 09:46:38 AM
|
> we parse every branch.
Makes sense.
> Are you always able to reproduce this or was this a one-off problem?
Yes, always
> Does it make any difference if you cancel it after a few items or wait more?
Does not make a difference.
(Not much of an issue for me since - with the time it takes - I won't be using it much, but if you want to fix it and I can help, sure :))
|
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Oct 02 2014 : 9:23:48 PM
|
Although I'm unable to repro, I found something that might solve this problem.
Can you please send an email to our support or use this form?
http://www.wholetomato.com/support/contact.asp
Please mention the URL of this topic so we can match it up. |
Edited by - accord on Oct 02 2014 9:31:27 PM |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Oct 09 2014 : 5:10:10 PM
|
A possible fix should be in the next build. |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Nov 07 2014 : 09:50:48 AM
|
Build 2052 has a change to the cancel handler. We weren't able to repro the problem, so can't say if it is fixed. |
|
|
peterchen
Tomato Guru
126 Posts |
Posted - Nov 18 2014 : 05:50:05 AM
|
Thank you!
Cancel now works fine (build 2052, VS2008).
It's still running for hours (literally!) unfortunately - I guess it's the many include paths for the same headers.
A simple test (windows.h + vector + shared_ptr.hpp) completes in roughly less than a second, so it seems to work fine now in principle :) |
|
|
feline
Whole Tomato Software
United Kingdom
19001 Posts |
Posted - Nov 20 2014 : 11:33:17 PM
|
Out of interest how large is 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?
I am assuming we are just running into very interlinked and complex relationships here, especially since it does work in principle, which is good to know. |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|