About Visual C++ 2005 Express Edition

R

Richard Heathfield

jacob navia said:
Excuse me but the compile time is 90ms in my machine, almost
at the measuring level!

And for printing a short character string I had the slowest time?????

Are you calling /him/ a liar, too?
This is just a call to the OS!!!

Bright people will understand that without you telling them. So who are you
trying to persuade? Idiots? Forget it. Idiots Don't Listen To Bright
People. (But why am I telling you?)
 
C

CBFalconer

Richard said:
mistral said:


Let's find out.

<later>

Well, it depends on what you mean by "small". :)


Here's a small source file, which should show up the overhead of various
compilers quite well:

#include <stdio.h>
int main(void)
{
puts("Hello world");
return 0;
}

Here are the executable image sizes, in bytes (implementations with "C++" in
their title were invoked in C mode!):

gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
gcc 3.21 for DOS/DJGPP 72820
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Turbo C 2.01 7598
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760

Some of those cases use a shared library, and just don't load any
library code.
I tried to download lcc-win32 for comparison purposes, but the main site's
download link was bad, and the backup site screamed "bad gateway" at me, so
I guess that comparison will have to wait for some other day.

Using gcc 3.2.1 -O1 on DJGPP (under dos/w98) I get 72820. The
compiled module itself is 51 bytes of code in a 2632 long file.

DJGPP has heavy startup overhead, to make things look much like
*nix.

Using tc2.01, the exe is 7598, and the .obj is 545.

--
Some informative links:
< <http://www.geocities.com/nnqweb/>
<http://www.catb.org/~esr/faqs/smart-questions.html>
<http://www.caliburn.nl/topposting.html>
<http://www.netmeister.org/news/learn2quote.html>
<http://cfaj.freeshell.org/google/>
 
J

John Smith

jacob said:
Excuse me but the compile time is 90ms in my machine, almost
at the measuring level!

I generally write and test my hobby C code with several free
compilers, including those above. Sorry, but it has been my
experience over a period of several years that lcc-win32 is
consistently the slowest. I wonder what the experience of others
has been.

JS
 
D

Default User

Richard Heathfield wrote:

Here are the executable image sizes, in bytes (implementations with
"C++" in their title were invoked in C mode!):

gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760


The old Turbo C, compiled from the IDE under WinXP comes in at 6427.
With the command-line compiler, it's 3928.




Brian
 
R

rjkematick

jacob navia wrote:

[snip]
This is wrong. virginia.edu is down TODAY.

An alternative site is:

http://www.q-software-solutions.de

The page at http://www.cs.virginia.edu/~lcc-win32/ links to
ftp://ftp.cs.virginia.edu/pub/lcc-win32/lccwin32.exe, and it seems that
the ftp site has been down for months, at least.

However, it does seem possible to grab the installation program off of
the the http server,
http://www.cs.virginia.edu/~lcc-win32/lccwin32.exe, although there are
no hyperlinks to this.
 
J

jacob navia

John said:
I generally write and test my hobby C code with several free compilers,
including those above. Sorry, but it has been my experience over a
period of several years that lcc-win32 is consistently the slowest. I
wonder what the experience of others has been.


OK Compiling 10MB of egcs version 2. This is a *real* test

lcc-win32 15 seconds
MSVC 6.0 34.3 seconds
gcc 60 seconds

Maybe you mean the compiled code is slower? That could be in
many situations true, since gcc and msvc do better optimizations,
but in compilation speed and size of the executable...
Executable size:

lcc-win32 1 756 192
gcc 1 965 864
MSVC 1 703 936

wc *.c
318007 1243947 9654182 total
lines words bytes
 
M

mistral

Default User пиÑал(а):
Richard Heathfield wrote:

Here are the executable image sizes, in bytes (implementations with
"C++" in their title were invoked in C mode!):
gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760
The old Turbo C, compiled from the IDE under WinXP comes in at 6427.
With the command-line compiler, it's 3928.

Brian
--------

The primary task is compile small and fast win32 executables, equally.
(not 16bit!) Compiler need be handy even for novices.

mistral
 
R

Richard Heathfield

mistral said:
The primary task is compile small and fast win32 executables, equally.
(not 16bit!) Compiler need be handy even for novices.

Then, looking at that list and excluding those that don't qualify, your best
bet would appear to be Visual C++ 6.0 or Visual C++ 2005 Express Edition.
You can probably get the file size down further by playing with
optimisation settings. Another way to reduce storage requirements is to
make copious use of DLLs, although these bring their own problems to the
table.
 
M

Michael Mair

jacob said:
lcc-win32 produces (sometimes) smaller executables. The only
optimizations lcc-win32 does actually, are optimizations that delete
instructions, so the code is quite compact. The size of the libraries is
smaller too. Custom implementations could be smaller, if you
have a budget for them.

Do you have test data? VC(++)2005 seemed to do a rather good job
w.r.t. optimising when I evaluated it. For VC(++)6, I do not doubt
your claim.


Cheers
Michael
 
J

jacob navia

Michael said:
Do you have test data? VC(++)2005 seemed to do a rather good job
w.r.t. optimising when I evaluated it. For VC(++)6, I do not doubt
your claim.


Cheers
Michael

Yes, VC++ 7.0 is much better that the earlier versions.
Actually, with a real world program, the
difference has shrunk to a few percentage.

When compiling the source code of the old gcc (egcx) compiler
(10 MB of C code) I have the following results:

lcc-win32 1 756 192
gcc 1 965 864
MSVC 1 703 936

So you can see that the difference is not significative,
53K from around 1.8MB.
 
M

Michael Mair

jacob said:
This is wrong. virginia.edu is down TODAY.

Um, have you actually tried to download it from there?
I never succeeded in the last _weeks_.
So, the ftp may well be down today (it can be pinged, but I
suspect that whatever was in ftp...../public/foo now can be found
under either www..../foo or www..../~foo) but this does not exclude
having been down for a while.

This works.

I can't GUARANTEE 100% availibity and you should know perfectly well
that the compiler IS AVAILABLE!!!

Nobody demands that. Richard quite reasonably pointed out that he
could not download it from either original site or mirror -- so what
should he do?

Dammed lies!

Easy there.


-Michael
 
M

Michael Mair

jacob said:
Yes, VC++ 7.0 is much better that the earlier versions.
Actually, with a real world program, the
difference has shrunk to a few percentage.

When compiling the source code of the old gcc (egcx) compiler
(10 MB of C code) I have the following results:

lcc-win32 1 756 192
gcc 1 965 864
MSVC 1 703 936

So you can see that the difference is not significative,
53K from around 1.8MB.

Thank you.
How does lcc-win32 fare when compiling itself in comparison
with the others?

Cheers
Michael
 
M

mistral

CBFalconer said:
Richard Heathfield wrote:
mistral said:
Does Visual C++ 2005 Express Edition produce small, compact C
executables?
Let's find out.

Well, it depends on what you mean by "small". :)

Here's a small source file, which should show up the overhead of various
compilers quite well:

#include <stdio.h>
int main(void)
{
puts("Hello world");
return 0;
}
Here are the executable image sizes, in bytes (implementations with "C++" in
their title were invoked in C mode!):
gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
gcc 3.21 for DOS/DJGPP 72820
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Turbo C 2.01 7598
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760
Some of those cases use a shared library, and just don't load any
library code.
I tried to download lcc-win32 for comparison purposes, but the main site's
download link was bad, and the backup site screamed "bad gateway" at me, so
I guess that comparison will have to wait for some other day.
Using gcc 3.2.1 -O1 on DJGPP (under dos/w98) I get 72820. The
compiled module itself is 51 bytes of code in a 2632 long file.
DJGPP has heavy startup overhead, to make things look much like
*nix.
Using tc2.01, the exe is 7598, and the .obj is 545.
--------------------

what is system requirements for MS Visual C++ 6.0? Visual C++ 2005
Express Edition is near 500MB. I can no assign dedicated comp for this
Visual C++ 6.0..

mistral
 
R

Richard Heathfield

mistral said:
what is system requirements for MS Visual C++ 6.0?

Not vast, especially if you don't install all the guff. But this is really a
question for a Microsoft group.
 
J

jacob navia

mistral said:
what is system requirements for MS Visual C++ 6.0? Visual C++ 2005
Express Edition is near 500MB. I can no assign dedicated comp for this
Visual C++ 6.0..

mistral

500 MB!!!!


Well, the whole IDE of lcc-win32, with debugger, project management
software metrics, what have you, makes only 650K. The whole system
is 5MB compressed, around 20MB decompressed.

But you are just complaining for NOTHING!

I installed at a customer site Microsoft 2005 Professional
edition and it is 3GB. Takes a whole afternoon of
inserting CDs


jacob
 
J

jacob navia

Michael said:
How does lcc-win32 fare when compiling itself in comparison
with the others?

Fairly fast, but MSVC beats me in generated code speed.
Actually the best compilers are:

Intel compiler: Best x86 compiler generator in the world.
No other compiler beats that in performance

MSVC. Close to Intel, very good generator.

gcc. It has never got to the MSVC performance.

lcc-win32: Fast compilation speed but the generated code is
slower by 25%-35% from the best compilers.
 
J

jacob navia

Michael said:
Um, have you actually tried to download it from there?
I never succeeded in the last _weeks_.
So, the ftp may well be down today (it can be pinged, but I
suspect that whatever was in ftp...../public/foo now can be found
under either www..../foo or www..../~foo) but this does not exclude
having been down for a while.



This works.




Nobody demands that. Richard quite reasonably pointed out that he
could not download it from either original site or mirror -- so what
should he do?

He said

"I suppose it is no longer available"

He knows perfectly well that I am posting here every day.
Just a question would have sufficed to explain what was
happening but no, he writes that my compiler system

"is no longer available".

That is bad faith really!
 
R

Richard Heathfield

[lcc-win32.exe is now once more available from its #2 site]

jacob navia said:
He said

"I suppose it is no longer available"

Right. My reasoning at the time was as follows: "It was available once. It
appears not to be available right now. Therefore, I suppose it is no longer
available." So what I wrote was consistent with my beliefs at the time.
That it might become available again in the future, even the near future,
was irrelevant.
He knows perfectly well that I am posting here every day.

Again, irrelevant. You are not posting your /compiler/ here every day (thank
heaven).
Just a question would have sufficed to explain what was
happening but no, he writes that my compiler system

"is no longer available".

No, sir, that is a selective and misleading quotation. I wrote: "I suppose
it is no longer available", and it is true that I supposed that, at the
time I wrote it. I just tried to download it again, it being easily twelve
hours since the last time I tried, and I just got a 0-byte file. But the
backup site now appears to be up again, as a result of which I have now
managed to download the software. So I suppose it is once more available.

That is bad faith really!

No, you just need to learn to read what's written, rather than what you're
expecting to read.
 
R

robertwessel2

Richard said:
Here are the executable image sizes, in bytes (implementations with "C++" in
their title were invoked in C mode!):

gcc 2.81 for DOS: 92403
Visual C++ 5.0: 81408
Borland C++ 5.3: 55296
Borland C++ 5.6: 50688
Visual C++ 2005 Express Edition: 40960
gcc 2.95.3 for Linux: 34686
Visual C++ 6.0: 28672
Visual C++ 1.5: 5699
Turbo C++ 1.01: 4760


While I've not checked all of these, it's likely that all of the above
with large executables were doing static links of the CRT. VC++05 with
-MD, for example, generates a 5632 byte executable.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,599
Members
45,162
Latest member
GertrudeMa
Top