Why is "Visual Studio .net 2003 7.1 c++" so much slower than VS6 at linking?
It looks like "Visual Studio .net 2003 7.1 c++" doesn't even do incremental
linking! I make one very minor change in a .cpp from one of my thirty
projects and the whole thing links! (I turned on verbose linking to verify
this.)
Is there something else I need to do to turn on incremental linking?
Rudy
Nov 17 '05
22 3765
"Tarek Madkour [MSFT]" <ta****@online. microsoft.com> wrote: From: "Hendrik Schober" <Sp******@gmx.d e> [...] I believe it's the code generation phase when the "vc.exe" process just uses all available processor resources. This not only blocks the IDE, but also everything else on the machine. [...]
I think you mistyped vc.exe (I don't know of one). Who was consuming most cycles: devenv.exe, vcspawn.exe or cl.exe?
Ooops, sorry. "cl.exe".
If it's cl.exe, then it's a good thing :) If it's devenv or vcspawn then we should take a look at that. A callstack would really help here.
I don't think it's a good thing when it takes
_all_ processor time (unless it's forced to
collaborate by setting down its priority). At
least, VC6 didn't do this. Neither do other
compilers I have access to.
[...] Actually, I want to be able to specify the order in which the projects appear in the Solution Explorer and have the IDE buils them in exactly this order. And I want to be able to do the same with each file within the folders of a project. [...]
That proves to me once more that there is a customer out there for any scenario that I can or cannot think of. I must admit that this usage scenario never crossed my mind :)
Oh yeah, perhaps I'm just another kind of
weirdo... :o>
If you either
o implemented two-phase lookup or
o decreased turn-around times for the
scenario where I change a header and have
to re-compile dozens or hundreds of files
by a factor of about ten :^>
it wouldn't be so bad anymore. However, as it
is, I often think very hard in order to find
the file that is most likely to trigger an
error from the changes I made and compile this
file manually, before I have the whole solution
built. (If the IDE obeyed the order I put the
stuff, I would only have to think once.)
Assume you have a project with some template
stuff in it. Only one cpp file will instanciate
these templates, but all others need to see
the declarations:
+-prj
+-TemplStuff
| +-templ.h
| +-templ.cpp
+-TemplUser1
| +-templuser1.cpp
+-TemplUser2
| +-templuser2.cpp
+-TemplUser3
+-templuser3.cpp
Now, only "templ.cpp" will instanciate the
templates and therefor triggers any errors. If
the IDE would just compile everythign in the
order I put it, that would be fine. But as it
is, it might decide to compile everything else
first, so I find the error in the last file it
compiles, and have to go back and compile
everything else again.
In Whidbey, we are adding a new feature to allow you to logically organize your projects into folders in the solution. It will not help with your specific scenario but it will help you visually order projects in a solution.
Oh my, it is _especially_ annoying if I'm able
to put everything neatly into the right order
and _still_ the IDE couldn't care less... <g>
Thanks
Schobi
-- Sp******@gmx.de is never read
I'm Schobi at suespammers dot org
"Sometimes compilers are so much more reasonable than people."
Scott Meyers
/test tells me the reason for the full link. Apparently a "library
changed." Which library changed to cause a full link? (see output below)
Thanks,
Rudy
Linking...
Processed /NODEFAULTLIB:na fxcwd.lib
Processed /NODEFAULTLIB:li bcd.lib
Processed /NODEFAULTLIB:li bcid.lib
Processed /NODEFAULTLIB:ms vcrt.lib
LINK : LNK6028: file alignment: 512, section alignment: 4096
Processed /NODEFAULTLIB:na fxcwd.lib
Processed /NODEFAULTLIB:li bcd.lib
Processed /NODEFAULTLIB:li bcid.lib
Processed /NODEFAULTLIB:ms vcrt.lib
LINK : LNK6010: library changed; performing full link
"Kang Su Gatlin [MS]" <ka******@micro soft.com> wrote in message
news:1g******** *****@cpmsftngx a06.phx.gbl... Hi Rudy, we are definitely interested in a link-repro and/or the output data that you currently have. Also use /time to get per pass timings.
Also could you ensure that you're linking 7.1 code, with the 7.1 linker. If you're linking 6.0 code with the 7.1 linker, this can slow things down.
You send this info directly to me at:
ka******@micros oft.com
Thanks,
Kang Su Gatlin Visual C++ Program Manager
-------------------- | From: "Ronald Laeremans [MSFT]" <ro*****@online .microsoft.com> | References: <uh************ **@TK2MSFTNGP12 .phx.gbl> <e1************ **@TK2MSFTNGP12 .phx.gbl> <#F************ **@TK2MSFTNGP10 .phx.gbl> <#Q************ **@TK2MSFTNGP11 .phx.gbl> <uA************ **@TK2MSFTNGP10 .phx.gbl> <DC************ *************** *******@microso ft.com> <Od************ **@TK2MSFTNGP11 .phx.gbl> | Subject: Re: Slow link times | Date: Mon, 12 Apr 2004 13:03:06 -0700
| I pinged the 2 teams. You should be contacted shortly. Send me an email (the | obvious transformation of my posting alias will give you my email
address) | if you haven't been contacted in the next few days. | | Sorry for the delay. | | Ronald | | "Rudy Ray Moore" <ru*******@hotm ail.com> wrote in message | news:Od******** ******@TK2MSFTN GP11.phx.gbl... | > Rick, | > | > The problem was not resolved. FYI, nobody from MS contacted me. | > | > Rudy | > | > "Rick Olson" <an*******@disc ussions.microso ft.com> wrote in message | > news:DC******** *************** ***********@mic rosoft.com... | > > | > > Hi Ronald, | > > | > > I have been experiencing the same link behaviour that Rudy
describes. | Was | > the problem resolved and if so, was there a solution or workaround
that | > could be shared with the rest of us? | > > | > > Thanks for the help, | > > | > > --Rick Olson | > > | > > ----- Ronald Laeremans [MSFT] wrote: ----- | > > | > > Hi Rudy, | > > | > > Thanks for putting that page together. I asked the folks from
the | IDE | > team | > > (for the rebuild issue and the other IDE comments) and the
linker | > team to | > > take a look and contact you. In the unlikely case that doesn't | happen | > over | > > the next week or so, please ping me (first name plus first
letter | of | > last | > > name at microsoft dot com). | > > | > > Ronald Laeremans | > > | > > "Rudy Ray Moore" <ru*******@hotm ail.com> wrote in message | > > news:%2******** ********@TK2MSF TNGP11.phx.gbl. .. | > > >> Ronald, | > > >> I appreciate your interest. We are not using any managed
code | > (it's all | > > > native). I have compiled some statistics and provided some | outputs | > for | > > you | > > > to look at if you are interested. Compile/links are 50-600% | slower | > with | > > 7.1 | > > > for regular and incremental builds respectively. | > > >> http://www.stankevitz.com/visualstudio/ | > > >> Rudy (real email address appears at the bottom of that page) | > > >> "Ronald Laeremans [MSFT]" <ro*****@online .microsoft.com>
wrote | in | > message | > > > news:%2******** ********@TK2MSF TNGP10.phx.gbl. .. | > > >> Hi Rudy, | > > >>>> Does this project contain any managed code (i.e. code compiled | > with the | > > > CLR | > > >> switch)? Incremental linking does not work for managed or mixed | > images. | > > > And | > > >> in addition linking them is significantly slower. We are hoping | to | > > address | > > >> both issues longer term. | > > >>>> If it is a fully native image, we would be interested in | taking | > a look | > > at | > > >> why incremental linking doesn't work. Let me know so I can have | > someone | > > >> contact you in that case. | > > >>>> Thanks | > > >>>> Ronald Laeremans | > > >> Visual C++ team | > > >>>> "Rudy Ray Moore" <ru*******@hotm ail.com> wrote in message | > > >> news:e1******** ******@TK2MSFTN GP12.phx.gbl... | > > >>>>>> Oh, and I did turn on incremental linking: Project Settings | | | > Linker | | > > >>> General | Enable Incremental Linking (Yes) | > > >>>>>> "Rudy Ray Moore" <ru*******@hotm ail.com> wrote in
message | > > >>> news:uh******** ******@TK2MSFTN GP12.phx.gbl... | > > >>>> Why is "Visual Studio .net 2003 7.1 c++" so much slower
than | VS6 | > at | > > >>> linking? | > > >>>>>>>> It looks like "Visual Studio .net 2003 7.1 c++"
doesn't | even | > do | > > >>> incremental | > > >>>> linking! I make one very minor change in a .cpp from one
of | my | > > thirty | > > >>>> projects and the whole thing links! (I turned on verbose | > linking to | > > >>> verify | > > >>>> this.) | > > >>>>>>>> Is there something else I need to do to turn on | incremental | > linking? | > > >>>>>>>> Rudy | > > >>>>>>>>>>>>>>> >>>>> | > | > | | |
Rick,
My app always does a full link.
Specifying "/test" to the linker tells you the reson for the full link.
Here's the reason given for the full link. For me, MSVC reports the
following reason:
LINK : LNK6010: library changed; performing full link
What does it say for you?
Rudy
"Rick Olson" <an*******@disc ussions.microso ft.com> wrote in message
news:C5******** *************** ***********@mic rosoft.com... Hi again gang,
Just to add some more information to this, I ran some tests between VS 6
(sp5) and Visual Studio.Net (7.1.3088). My project is all C++, native, no
managed code. With incremental linking enabled in both my projects, the
link times are incredibly different between the two VS versions. If I
add/remove a blank line from a file and re-build, VS 6 takes about 2-3
seconds to compile/link. VS.Net for the same file takes about 38 seconds.
I turned on VERBOSE output for the linker and it sure appears that the
VS.Net version is NOT doing an incremental link. It is searching all the
libraries to resolve references. The verbose output of VS 6 is about 3
lines long and says something about Start Pass2, lists the object
corresponding to the source file I changed, and End of Pass 2. I can provide any information to any of you at Microsoft to help resolve
this problem (project files, link outputs, etc.) This has been driving me
nuts since we moved over to VS.Net. Thanks for any help you can provide!
--Rick Olson This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: GSpiggle |
last post by:
Have recently upgraded to Windows XP and latest Access 2003 from
Windows 98 and Access 97. Distribute a lot of front end applications
linked to network based data files. During normal working hours the
loading of forms and reports in design mode is slow; response time to
keyboard/mouse commands is horrible. After network activity is slowed
down, normal design reactions resume. Yes, I have refreshed the links
in my applications. Have...
|
by: David |
last post by:
Hi,
We have an internal network of 3 users.
Myself & one other currently have individual copies of the front-end
MS Access forms and via our individual ODBC links we have used the:
File > Get External Data > Link Tables > select ODBC Databases
facility to link to our back-end MySQL Server. On both our machines
the tables appear in the window very quickly and if we hit 'Select
All', all the tables start loading really quickly into our...
|
by: BlueBall |
last post by:
I am writing some kind of network testing tool and I have wrote the
following code in ASP.NET with C#
int size= 10048576; // around 10 MB data
string buffer = "";
for (int j=1; j<=1024; j++) {
buffer = String.Concat(buffer, "x");
// I tried buffer += "x"; same performance
}
|
by: Andrew Dowding |
last post by:
Hi Everybody,
I have been looking at problems with my Windows Forms C# application
and it's little Jet 4 (Access) database for the last few days. The
Windows Forms app implements a facade and implementation, data
abstraction layer. But because each data adapter in the implementation
layer has a connection object that opens and closes as needed, I found
I got several errors from the Jet engine when there were simultaneous
connections to...
|
by: roiavidan |
last post by:
Hi,
I'm having a bit of a problem with a small application I wrote in C#,
which uses an Access database (mdb file) for storing financial data.
After looking for a similiar topic and failing to find one, I'm posting
the question in hope some one of you guys out there will have the
answer for me...!
I'll start with what I have, then I'll continue to the problem itself.
| |
by: MadMan2004 |
last post by:
Hello all!
I'm having a problem with a project I'm working on and I'd like to ask
for anyone's input that might be helpful. I'm building a rather large
front-end application connecting to an AS400 for the back end database
and I'm experiencing slow response times when executing sql statements.
Some select statement response times are bad. Not all, but some. And
there doesn't seem to be a consistent factor in any of the sql
statements...
|
by: jonceramic |
last post by:
Hi all,
I have a situation I can't find any old messages or web-help on.
I have a split database with a bizarre quirk. When I open up the
front-end file, the main form opens up fairly quickly (~2-3 seconds.)
If I copy my front end in Windows Explorer, the first time I open it,
it's 2-3 seconds also.
|
by: =?Utf-8?B?QWtlcmx1bmQ=?= |
last post by:
User clicks a link that displays a customer card and financial stats (has a
lot of database calls). Every 5 times the user clicks the same page/link it
takes about 30 seconds (normal response time is <1 second) to display. Then
you can click 4 times with a normal response time and the 5th the repsone
time it is 30 seconds again. The page has exactly the same parameters every
time but there seem to occur some "locking" that stops the action...
|
by: SAL |
last post by:
I have an ASP.NET 2.0 app that takes about 17 seconds to load on first
startup but then is very fast after that. As I understand it from some posts
in June, this is caused by the loading of the App Domain.
We have both Cold Fusion and ASP.NET apps on this server and the Cold Fusion
apps do not display such slowness on their first start up of the day. Is
there a way to improve the load times of ASP.NET apps?
I'm having to justify to my boss...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |