Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!emory!wuarchive!csus.edu!borland.com!sidney From: sidney@borland.com (Sidney Markowitz) Newsgroups: comp.windows.ms.programmer Subject: Re: Borland C++ vs Microsoft C 5.10 Keywords: windows borland microsoft Message-ID: <1991Mar19.231934.2007@borland.com> Date: 19 Mar 91 23:19:34 GMT References: <350@intertel.UUCP> <7320@idunno.Princeton.EDU> Organization: Borland International Lines: 30 mg@phoenix.Princeton.EDU (Michael Golan) writes: >boyd_m@intertel.UUCP (Mark Boyd) writes: >> Microsoft C 5.1 .EXE: 720672 bytes >> Borland C++ .EXE: 842848 bytes > >Ok guys, anyone care to comment? Um, I may have a vested interest in the results coming out one way rather than the other, but aside from that I would like to point out that the size of the EXE file is not a good measure of the compiler optimization. Is there any debugging info in there? Are the two linkers making the same decisions as to when not to take up space in the exe file for uninitialized data? The Microsoft linker does fixup threading and the Borland linker does not, and the two linkers make different assumptions about segment alignment, both of which affect the exe size without affecting the executable image. Also, how much of the executable is a result of the run time library, and how much is output of the compiler? If you really want to compare the outputs of the compiler by size (and not speed) you should get detailed link maps and compare those. By the way, from what I've seen, any fair comparison will show that Microsoft C has much better code optimization, especially for loop optimization and integer arithmetic, and Borland C++ has a much faster and tighter RTL and floating point processing. So if execution speed is your main consideration, you can choose one or the other depending on how much of your program time is spent in your code or in library routines. -- sidney markowitz Borland International (Languages - R&D)