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
 VA View "includes": "expand and copy" takes hours
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

peterchen
Tomato Guru

126 Posts

Posted - Sep 22 2014 :  03:48:05 AM  Show Profile  Reply with Quote
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  Show Profile  Reply with Quote
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?
Go to Top of Page

peterchen
Tomato Guru

126 Posts

Posted - Sep 30 2014 :  09:46:38 AM  Show Profile  Reply with Quote
> 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 :))

Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Oct 02 2014 :  9:23:48 PM  Show Profile  Reply with Quote
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
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Oct 09 2014 :  5:10:10 PM  Show Profile  Reply with Quote
A possible fix should be in the next build.
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Nov 07 2014 :  09:50:48 AM  Show Profile  Reply with Quote
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.
Go to Top of Page

peterchen
Tomato Guru

126 Posts

Posted - Nov 18 2014 :  05:50:05 AM  Show Profile  Reply with Quote
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 :)
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Nov 20 2014 :  11:33:17 PM  Show Profile  Reply with Quote
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
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000