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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a00006d3c4735d70 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-02-28 08:58:37 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!news.moat.net!border1.nntp.sjc.giganews.com!nntp.giganews.com!local1.nntp.sjc.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Sat, 28 Feb 2004 10:58:36 -0600 Date: Sat, 28 Feb 2004 11:58:35 -0500 From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: left-to-right (was In-Out Parameters for functions) References: <1075851506.238480@master.nyc.kbcfp.com> <4020C947.81A6D703@0.0> <1075907239.138068@master.nyc.kbcfp.com> <402232E9.3EE15B4B@0.0> <1075987360.225622@master.nyc.kbcfp.com> <40236C0B.E988E003@0.0> <1077634311.254581@master.nyc.kbcfp.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 24.147.77.160 X-Trace: sv3-oaXAgmZkvEnqcPDOYtupgTQiTajjd/KDg5DoTrzddUL7zdAJNwViTB4QVY2K9SWAc2bfReLuWUuDD7A!XT67RR0s7phA0uPvadsXb7deHLJS2ZKm5C/2NR7mD3b/htkwHEtAEfLDcLvOPA== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:5926 Date: 2004-02-28T11:58:35-05:00 List-Id: Stephen Leake wrote: > But you haven't answered my question. Is there, in actual fact, any > compiler that actually does these optimizations? Sure, lots of them, but that is not really the interesting question. The interesting experiment is to find a way to turn off just the optimizations that take advantage of the reordering freedoms, then see what effect it has on the performance of the compiled code on some set of benchmarks. It might take hacking source to be sure of doing exactly that in GNAT, but you can probably bound the benefit using current optimization switches. Of course, the real interesting part of the project would be to run the suite on different hardware architectures and see how much of an effect it has on modern CPU architectures compared to say a Pentium or 80486 without superscalar and OoO support in the CPU. It would probably make a good senior project for some undergraduate, and if the results showed that the effect of such optimizations on superscalar out-of-order CPUs it might make a Master's or PhD thesis. In any case it should result in a couple of papers. Why do I suggest this as an academic project? Well years go the same sort of thing was done by hardware and language architects both in academia and in industry. The conclusion AT THAT TIME, was that the freedom to reorder, and the compiler code to take advantage of it, was very worthwhile. With OoO superscaler machines, it is not clear that there would be any advantage to requiring "more predictable" semantics in programming languages given what happens during execution. But it could be that the "optimization freedoms" don't buy much in the way of performance anymore. -- Robert I. Eachus "The only thing necessary for the triumph of evil is for good men to do nothing." --Edmund Burke