comp.lang.ada
 help / color / mirror / Atom feed
From: Charly <carl.weierstrass@googlemail.com>
Subject: Re: Poor performance with GNAT-GPL-2017
Date: Thu, 15 Jun 2017 09:31:50 -0700 (PDT)
Date: 2017-06-15T09:31:50-07:00	[thread overview]
Message-ID: <649ddcbf-c898-4115-bbe5-59d678a94727@googlegroups.com> (raw)
In-Reply-To: <44aa47f0-418a-4ede-b436-1937c3dbe065@googlegroups.com>

Am Donnerstag, 15. Juni 2017 17:19:20 UTC+2 schrieb Charly:
> Am Dienstag, 13. Juni 2017 21:46:13 UTC+2 schrieb alkh...@gmail.com:
> > On Monday, June 12, 2017 at 6:28:17 PM UTC+3, Mark Lorenzen wrote:
> > > On Saturday, June 10, 2017 at 1:23:34 PM UTC+2, Charly wrote:
> > > > Hi,
> > > > 
> > > > when I found the new GNAT-GPL-2017 this morning I was happy and installed it at once.
> > > > But I was rather disappointed about the poor performance.
> > > > To be more precise:
> > > > 
> > > > When I switch to new hard- or software I allways check the performance with my private tool:
> > > > It solves Rubics Tabgle https://www.jaapsch.net/puzzles/tangle.htm with an ada programm, using one task per core.
> > > > 
> > > > With GNAT-GPL-2016 (gcc 4.9.4) it took about 0,4 sec to find both solutions,
> > > > with GNAT-GPL-2017 (gcc 6.3.1) it takes about 0,8 sec to find both solutions,
> > > > which means the program is slower by a factor of 2.
> > > > 
> > > > In both cases I use the following options: 
> > > > -O3 -gnatA -gnatn -funroll-loops -fPIC -gnatp -g -gnatW8 -gnatVn -mtune=amdfam10 -gnat12
> > > > 
> > > > Any ideas??
> > > 
> > > Previous versions of GNAT did not have overflow check (-gnato) enabled by default, whereas newer versions have. Maybe this is what you are seeing.
> > > 
> > > Regards,
> > > 
> > > Mark L
> > 
> > I see Charly is compiling with '-gnatp'. Does it suppress the overflow checks as well?
> > 
> > Charly, it can be an interesting experiment to trace the source of this anomaly. This is strange that the compiler is emitting a code that is twice as slow. It can compile a specific language feature to be slower, but this one needs to be run frequently enough in your program. Can you guess what this feature can be? Maybe a profiler can help.
> > 
> > Can you try to compile your benchmark without tasking at all (remove the tasking code, rather than create 1 task)?
> > 
> > Can you use a different run time for the 2017 compiler?
> 
> -----
Some aditional strange results, all without any tasking (new option -t 0)

gnat-gpl-2016 -O
duration 3485 ms

gnat-gpl-2016 -O2
duration 4713 ms

gnat-gpl-2016 -O3
duration 2772 ms

gnat-gpl-2017 -O
duration 3375 ms

gnat-gpl-2017 -O2
duration 4480 ms

gnat-gpl-2017 -O3
duration 4823 ms

To summarize I draw two conclusions
This year optimization level -O is the best choice,
Try several optimization levels next year when gnat-gpl-2018 is out.


  reply	other threads:[~2017-06-15 16:31 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-10 11:23 Poor performance with GNAT-GPL-2017 Charly
2017-06-10 12:43 ` Jacob Sparre Andersen
2017-06-11 20:48 ` Robert Eachus
2017-06-12 19:00   ` Charly
2017-06-13  4:14     ` Robert Eachus
2017-06-13 13:57       ` Lucretia
2017-06-13 17:41         ` Robert Eachus
2017-06-12 12:21 ` Emile
2017-06-12 18:22   ` Charly
2017-06-12 15:28 ` Mark Lorenzen
2017-06-13 19:46   ` alkhimey
2017-06-15 15:19     ` Charly
2017-06-15 16:31       ` Charly [this message]
2017-06-15 18:00         ` Anh Vo
2017-06-15 19:21           ` Charly
2017-06-15 19:24             ` Anh Vo
2017-06-16 21:33         ` stephane.carrez
2017-06-21 14:29           ` gautier_niouzes
2017-06-20 22:39         ` Anatoly Chernyshev
2017-06-19 10:26     ` briot.emmanuel
2017-06-19 12:25       ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox