FYI - MSFT's response
-
{err... did i hit modify instead of reply???} i posted my problem on usenet last night. today, i got this response from a MS tech on microsoft.public.dotnet.languages.vc: --------- Ok -- I ran a little experiment: I compiled the following code into a library using Visual C++ 6.0, Visual C++ 7.0 and Visual C++ 7.* #include <iostream> void f() { std::cout << "Hello" << std::endl; } void g() { std::cout << "Goodbye" << std::endl; } I used /O1 /Ob1 /MD /EHsc Here are the sizes of the libs that resulted Visual C++ 6.0 - 3952 bytes Visual C++ 7.0 - 10528 bytes - 2.66 times larger than 6.0 Visual C++ 7.* - 11690 bytes - 2.95 times larger than 6.0 So I dumped the symbols from each lib: The 6.0 lib has 24 symbols The 7.0 lib has 47 symbols The 7.1 lib has 51 symbols Almost all the extra symbols are STL related -- especially locale related. It does look like we are paying quite a hefty price for a fully conformant version of the Standard C++ Library. I've gotten in touch with the libraries team here to see if they have any comments about these numbers.
-
{err... did i hit modify instead of reply???} i posted my problem on usenet last night. today, i got this response from a MS tech on microsoft.public.dotnet.languages.vc: --------- Ok -- I ran a little experiment: I compiled the following code into a library using Visual C++ 6.0, Visual C++ 7.0 and Visual C++ 7.* #include <iostream> void f() { std::cout << "Hello" << std::endl; } void g() { std::cout << "Goodbye" << std::endl; } I used /O1 /Ob1 /MD /EHsc Here are the sizes of the libs that resulted Visual C++ 6.0 - 3952 bytes Visual C++ 7.0 - 10528 bytes - 2.66 times larger than 6.0 Visual C++ 7.* - 11690 bytes - 2.95 times larger than 6.0 So I dumped the symbols from each lib: The 6.0 lib has 24 symbols The 7.0 lib has 47 symbols The 7.1 lib has 51 symbols Almost all the extra symbols are STL related -- especially locale related. It does look like we are paying quite a hefty price for a fully conformant version of the Standard C++ Library. I've gotten in touch with the libraries team here to see if they have any comments about these numbers.
Probably just a little snafu in project settings, it could be linking something extra? -:suss:Matt Newman / Windows XP Activist:suss: -Sonork ID: 100.11179
"You can't seriously believe that you could get away with suing someone over quoting text from a message posted in a public forum, can you?" - John Simmons -
Probably just a little snafu in project settings, it could be linking something extra? -:suss:Matt Newman / Windows XP Activist:suss: -Sonork ID: 100.11179
"You can't seriously believe that you could get away with suing someone over quoting text from a message posted in a public forum, can you?" - John Simmonsno linking involved - these are static .LIBs. i've quadruple-double-triple checked the settings and i don't see anything that looks like "add tons of duplicate junk to the .LIB". :) -c
Though the cough, hough and hiccough so unsought would plough me through, enough that I o'er life's dark lough my thorough course pursue. --Stuart Kidd
-
no linking involved - these are static .LIBs. i've quadruple-double-triple checked the settings and i don't see anything that looks like "add tons of duplicate junk to the .LIB". :) -c
Though the cough, hough and hiccough so unsought would plough me through, enough that I o'er life's dark lough my thorough course pursue. --Stuart Kidd
Maybe you should try voodoo or satanic incantations, they might help :) -:suss:Matt Newman / Windows XP Activist:suss: -Sonork ID: 100.11179
"You can't seriously believe that you could get away with suing someone over quoting text from a message posted in a public forum, can you?" - John Simmons -
no linking involved - these are static .LIBs. i've quadruple-double-triple checked the settings and i don't see anything that looks like "add tons of duplicate junk to the .LIB". :) -c
Though the cough, hough and hiccough so unsought would plough me through, enough that I o'er life's dark lough my thorough course pursue. --Stuart Kidd
Is there anything like dumpbin.exe in VC.NET? You could at least get .lib section sizes. Anyway, let us know if anybody solves/explains the reason for static bloat. Tomasz Sowinski -- http://www.shooltz.com
"Yields falsehood when preceded by its quotation" yields falsehood when preceded by its quotation.
-
{err... did i hit modify instead of reply???} i posted my problem on usenet last night. today, i got this response from a MS tech on microsoft.public.dotnet.languages.vc: --------- Ok -- I ran a little experiment: I compiled the following code into a library using Visual C++ 6.0, Visual C++ 7.0 and Visual C++ 7.* #include <iostream> void f() { std::cout << "Hello" << std::endl; } void g() { std::cout << "Goodbye" << std::endl; } I used /O1 /Ob1 /MD /EHsc Here are the sizes of the libs that resulted Visual C++ 6.0 - 3952 bytes Visual C++ 7.0 - 10528 bytes - 2.66 times larger than 6.0 Visual C++ 7.* - 11690 bytes - 2.95 times larger than 6.0 So I dumped the symbols from each lib: The 6.0 lib has 24 symbols The 7.0 lib has 47 symbols The 7.1 lib has 51 symbols Almost all the extra symbols are STL related -- especially locale related. It does look like we are paying quite a hefty price for a fully conformant version of the Standard C++ Library. I've gotten in touch with the libraries team here to see if they have any comments about these numbers.
Chris, The solution is so obvious, I am completely flabbergasted that you do not see it: Obviously the correct thing to do is stop developing in these silly, old fashioned, file based languages like C, and C++, and move over to more modern and pleasant languages like, dare I say it, C#. These languages will obviously allow you to be immediately more productive, as well as having code that looks prettier, thus justify throwing away hundreds of thousands of your man-hours of code to rewrite it all in the new fangled tools and pretty languages like C#. :)
-
Chris, The solution is so obvious, I am completely flabbergasted that you do not see it: Obviously the correct thing to do is stop developing in these silly, old fashioned, file based languages like C, and C++, and move over to more modern and pleasant languages like, dare I say it, C#. These languages will obviously allow you to be immediately more productive, as well as having code that looks prettier, thus justify throwing away hundreds of thousands of your man-hours of code to rewrite it all in the new fangled tools and pretty languages like C#. :)
:) as if.. -c
Though the cough, hough and hiccough so unsought would plough me through, enough that I o'er life's dark lough my thorough course pursue. --Stuart Kidd
-
{err... did i hit modify instead of reply???} i posted my problem on usenet last night. today, i got this response from a MS tech on microsoft.public.dotnet.languages.vc: --------- Ok -- I ran a little experiment: I compiled the following code into a library using Visual C++ 6.0, Visual C++ 7.0 and Visual C++ 7.* #include <iostream> void f() { std::cout << "Hello" << std::endl; } void g() { std::cout << "Goodbye" << std::endl; } I used /O1 /Ob1 /MD /EHsc Here are the sizes of the libs that resulted Visual C++ 6.0 - 3952 bytes Visual C++ 7.0 - 10528 bytes - 2.66 times larger than 6.0 Visual C++ 7.* - 11690 bytes - 2.95 times larger than 6.0 So I dumped the symbols from each lib: The 6.0 lib has 24 symbols The 7.0 lib has 47 symbols The 7.1 lib has 51 symbols Almost all the extra symbols are STL related -- especially locale related. It does look like we are paying quite a hefty price for a fully conformant version of the Standard C++ Library. I've gotten in touch with the libraries team here to see if they have any comments about these numbers.
When you say VC 7.1 are you talking about the as-yet-unreleased update to VC++.NET? cheers, Chris Maunder
-
When you say VC 7.1 are you talking about the as-yet-unreleased update to VC++.NET? cheers, Chris Maunder
those are MSFT's words, but yeah, that's probably what he meant. -c
Though the cough, hough and hiccough so unsought would plough me through, enough that I o'er life's dark lough my thorough course pursue. --Stuart Kidd