From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,cd7d510783cb3f76 X-Google-Attributes: gid103376,public From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe) Subject: Re: Executable File Size Differences Date: 1996/09/30 Message-ID: <52o1a8$fre@goanna.cs.rmit.edu.au>#1/1 X-Deja-AN: 186192312 references: <52bmn5$7r0@sjx-ixn6.ix.netcom.com> <52bq9m$7gn@nr1.ottawa.istar.net> <324D6631.4F3F@ghgcorp.com> organization: Comp Sci, RMIT, Melbourne, Australia nntp-posting-user: ok newsgroups: comp.lang.ada Date: 1996-09-30T00:00:00+00:00 List-Id: Stanley Allen writes: >I am not convinced that current Ada compilers could be used to >produce code for "major" PC software that would have acceptable >memory performance. I'm thinking of full-featured products, >products that compete in the cut-throat PC software market at >the top echelons, where "feature-itis" issues are critical to >commercial success. Products like WordPerfect, Netscape >Navigator, and Microsoft Access. Could Ada be used to develop >commercially successful products in this arena? I don't think >so. I took Netscape off my Macintosh Centris 660AV because - it swiped half of the machine's 16Mb memory for its own use - and could be relied on to trash the other half. Maybe if Netscape had been written in Ada I could have afforded to keep on running it, but I have better things to do with my time than reboot a Mac every couple of hours. Now when I run Netscape (which is when Mosaic has trouble) I run it through a terminal emulator window and just delete the occasional "core" file. When you are up around the 8Mb memory size (and I assure you, that really truly is the amount of memory Netscape wanted), the run-time library size is irrelevant. >I think the executable speed of the code produced by current >Ada compilers is up to snuff. More than! When anyone tells me "I'm not going to use Ada for this, I'm going to use C for efficiency" I laugh at them. >But I *don't* believe >that the size of the executables produced by the linkers, and the >amount of RAM necessary to run these executables, is currently >acceptable for producing products in the above-described arena. The trouble with this is that while you may very well have grounds for your statement, we don't know that unless you tell us. - How many Ada compilers have you checked the current versions of? - Which platforms? Just the PC, or the Mac as well, or UNIX (which)? - Which kinds of applications have you measured? For what it's worth, I note that the Encore Multimax "Pascal-2" compiler generated executables containing only the subprograms reachable from the main program, _without_ a "smart linker" provided by the operating system. >The problem is an old one: the lack of "smart linkers" which >would include only the necessary code from an Ada package, and >avoid linking in the unused bulk that never gets invoked. C doesn't have this either, nor do any of the C++ compilers I have used. In fairness to UNIX (and other) linkers, there is nothing in COFF or ELF that says a compiler cannot generate a "lib.a" file instead of a "lib.o". The DOS loaders can handle library files of some sort too. >But in a large office complex with 100+ PC, careful thinking >must be given to purchasing a new WWW browser that would >require bumping everyone's RAM up by 8Mb or more. Ah. So you _don't_ use Netscape. /opt/local/sun4/bin/netscape.bin is protected so I can't use "size", but "ls" says it's 4.2Mb, Dear knows how much data space it needs. >Smart linking is an simple idea which is hard to implement. If Encore Pascal-2 could do it, it _can't_ be hard. -- Australian citizen since 14 August 1996. *Now* I can vote the xxxs out! Richard A. O'Keefe; http://www.cs.rmit.edu.au/%7Eok; RMIT Comp.Sci.