Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!uunet!pilchuck!dataio!fnx!nazgul!bright From: bright@nazgul.UUCP (Walter Bright) Newsgroups: comp.os.msdos.programmer Subject: Re: C & Pascal compilers: recommendations desired Message-ID: <210@nazgul.UUCP> Date: 21 Dec 90 10:43:17 GMT References: <1990Dec14.012748.1@frigga.claremont.edu> <25923@uflorida.cis.ufl.EDU> <28832@usc> <1990Dec15.141850.3405@murdoch.acc.Virginia.EDU> Reply-To: bright@nazgul.UUCP (Walter Bright) Organization: Zortech, Seattle Lines: 66 In article <1990Dec15.141850.3405@murdoch.acc.Virginia.EDU> Ran Atkinson writes: /In article <28832@usc> ajayshah@alhena.usc.edu (Ajay Shah) writes: /%Microsoft C is said to have the best optimisation on the block. /In fact, empirical testing has shown that essentially all of the C /compilers from major vendors (MS, Borland, Zortech, Watcom, etc.) have /about the same level of optimisation. A recent article (this summer) /in _Computer_Language_ gives actual code examples and demonstrates /that with trivial changes to the source code any of the tested /compilers can come out on top. This is not at all true for C++ compilers, though. There are major differences in code size and code speed between C++ compilers. According to the Ladd Report, ZTC++ TC++ Run Times 107.3 187.3 EXE Size 26,480 31,476 This is for the ECOSYS benchmark, compiled and optimized for time in the large memory model. To quote from the report: "ECOSYS is an ecosystem simulation Scott Ladd wrote for his series of C++ Techniques and Applications books. The program consists of 2500 lines of C++. The program performs several million virtual function calls and creates thousands of polymorphic objects." "In both small and large models, Zortech's compiler is always faster than Borland's at producing 'debugging' programs. Since all compiles except the final few are usually of the debugging type, this gives Zortech an important advantage over Borland. While Zortech does perform slower on optimized compiles, it is uncommon to do more than a few compiles with the optimization switches on." "On the ECOSYS benchmark, Zortech produced a program that is 45% faster than Borland. Zortech produced programs that were 9% and 12% faster on the respective DHRY2 and MATTEST benchmarks. Only on the MANDEL benchmark, which is floating-point intensive, did Borland win with a margin of 8%. Clearly, Zortech's global optimizer provides a significant boost in program speed. Zortech always produced a smaller .EXE file than did Borland." Excerps from "MS-DOS C++ Compilers: A Comparison" (11-9-90) Copyright 1990 by The Ladd Group. All Rights Reserved. (303) 641-4129 /The net result is that "optimisation" isn't much of a reason to buy a /compiler. For many people this is true. But for a lot of people who are writing competitive application software, this can make a big difference. It can be the difference between a large or small memory model, between fitting in 640k or having to go to protected mode, between an application being fast enough as is or having to profile and recode bottlenecks in assembler. At Zortech, we wish to cater to the demanding professional, and have concentrated our efforts on superior compilation speed and code generation. We welcome posting of other benchmarks comparing our compilers. /The main problem with Borland as compared with say MS or Watcom or /Metaware is that they don't really support ROM-able code or /protected-mode 386 code. ZTC++ now offers a 386 compiler for use with the Pharlap DOS Extender. Watcom C and MetaWare C support 386 code and Pharlap too. Disclaimer: I work for Zortech.