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,b16c9883f36bc904 X-Google-Attributes: gid103376,public From: Nicolas Brunot Subject: Re: WinNT ADA compilers comparison Date: 2000/07/24 Message-ID: <397C03F9.AF6DF60F@cadwin.com>#1/1 X-Deja-AN: 650045690 Content-Transfer-Encoding: 7bit References: <3976C68A.12386D00@cadwin.com> <8l7fff$9kb$1@front1.grolier.fr> <3A92E737.E690906A@free.fr> <3978041A.EB0F8FCE@cadwin.com> <8lcgbi$gvb$1@front5.grolier.fr> X-Accept-Language: fr Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@proxad.net X-Trace: nnrp5.proxad.net 964428769 212.27.48.205 (Mon, 24 Jul 2000 10:52:49 CEST) Organization: Guest of ProXad - France MIME-Version: 1.0 NNTP-Posting-Date: Mon, 24 Jul 2000 10:52:49 CEST Newsgroups: comp.lang.ada Date: 2000-07-24T00:00:00+00:00 List-Id: > >But, on a code generator point a view, there is no difference > >in optimizing from 5s to 1s and from 5ms to 1ms. The first case > >is most of the time (roughly) a loop of 1000 iterations of the > >second case in the source code. I don't completely agree on that. when I talk about optimizing from 5s to 1s, or from 5ms to 1 ms, this usually concerns completely different code part, and of course, this optimization must concern the total amount of time that the user is waiting after his command (and I was talking about software with important GUI where ease of use of GUI is much more important than time computation to get the result expected) > >The quality and speed of the generated code is an instrinsic > >quality of a compiler. To address the full range of applications, > >a compiler must make it right. Let me briefly describe two cases > >I experienced where it made all the difference: I think that quality and speed of the same compiler can change a lot depending on the kind of ADA feature and syntax you use. (simple ADA83 compatible syntax, tasks, tagged type etc ...) One very good compiler for one purpose can be very bad for another. We unfortunately had to deal with compiler trying to be excellent in one field (float computation) and by consequence being very poor in reliability when interfering with others libraries. If you are concerned by executable size for example, even with optimization and strip, for example, we get gnat executable size incredibly huge in comparison even with old ADA83 compiler (40 Mo instead of 8 Mo !!!) > >So, yes, the performance of the generated code is not > >important for hobbyists, educational institutions, GUI > >software, desktop tools, etc. But, for commercial > >industrial software products, it is essential. I don't know what you mean by commercial industrial software, but we develop CAD and database Oracle application we call commercial (because we sell them) and industrial (because we try to have an industrial approach of software developping). We talked with some people developping in ADA, and obviously we don't have at all the same needs concerning compiler feature and reliability than people developping embedded system for example. For us, the speed of the application (not of code executable ..., that's not always the same thing) depends much more on the way you write the application, than on the code speed generated by the compiler. Especally in CAD, a good and well thought GUI can help the user win 1000 more time than a compiler generating 10 times faster code. What we expect from the compiler is to be reliable, fast to link (more than fast to compile) and above all, be reliable enough so we don't need support or patches (We still use an ADA83 compiler and we never had to call suppor not even once in 6 years for about 1 million lines ADA code, and today no ADA95 compiler is good enough to replace it) For our applications we absolutely don't care about a compiler generating float operation twice faster, that would be of absolutely no use for our customers. But a compiler simple robust with no problem (even if it's not the best generated code) and fast link, allows us to develop much faster and provide really useful improvement for the customer. Nicolas BRUNOT