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=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.107.35.200 with SMTP id j191mr13532133ioj.51.1503386928924; Tue, 22 Aug 2017 00:28:48 -0700 (PDT) X-Received: by 10.36.57.129 with SMTP id l123mr518971ita.3.1503386928899; Tue, 22 Aug 2017 00:28:48 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!nntp.giganews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!x187no332647ite.0!news-out.google.com!c139ni2491itb.0!nntp.google.com!x187no333486ite.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 22 Aug 2017 00:28:48 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=2a02:1205:5055:3750:6cb1:553c:b2d0:38ae; posting-account=gRqrnQkAAAAC_02ynnhqGk1VRQlve6ZG NNTP-Posting-Host: 2a02:1205:5055:3750:6cb1:553c:b2d0:38ae References: <30f25a94-fc6d-4663-9405-d4d8601d6681@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <0cd56bba-3ed2-4db4-b68e-fa698a824981@googlegroups.com> Subject: Re: Modern optimizing compilers From: gautier_niouzes@hotmail.com Injection-Date: Tue, 22 Aug 2017 07:28:48 +0000 Content-Type: text/plain; charset="UTF-8" X-Received-Bytes: 2208 X-Received-Body-CRC: 244812102 Xref: news.eternal-september.org comp.lang.ada:47784 Date: 2017-08-22T00:28:48-07:00 List-Id: > Not sure if the optimizer with -O3 is good, but now the code it much > shorter, however yet seems for me too long. It's not good: it's very good!... On more complex source code, the assembler output is very long, looks confuse to the human reader... but the result is very fast. Intuition or common sense are helpless in guessing performance from the assembler output. If you want compact machine code, use -Os instead. It may be useful to use -O2 plus selected options like loop unrolling for tuning performance. Side note 1: IIRC id software already delegated the performance of their full-software Quake 1 3D renderer for GCC's optimizer, some 20 years ago!... Side note 2: A similar full-software 3D renderer in Ada is available @ http://sf.net/projects/engine-3d/ _________________________ Gautier's Ada programming http://gautiersblog.blogspot.com/search/label/Ada NB: follow the above link for a valid e-mail address