comp.lang.ada
 help / color / mirror / Atom feed
From: Charly <carl.weierstrass@googlemail.com>
Subject: Re: Poor performance with GNAT-GPL-2017
Date: Mon, 12 Jun 2017 12:00:35 -0700 (PDT)
Date: 2017-06-12T12:00:35-07:00	[thread overview]
Message-ID: <65d29678-4614-4709-b405-fcb70dfcb2f3@googlegroups.com> (raw)
In-Reply-To: <84e92c0f-8877-496d-b295-cf590e047ed4@googlegroups.com>

Am Sonntag, 11. Juni 2017 22:48:11 UTC+2 schrieb Robert Eachus:
> On Saturday, June 10, 2017 at 7:23:34 AM UTC-4, Charly wrote:
>  
> > Any ideas??
>  
> Three ideas really.  First there may be some change in the tasking and rendezvous parts of GNAT-GPL that results in twice as many scheduling actions (or more) and thus the slowdown.  Most probable.
> 
> Second there is no guarantee that the tasking actions will be identical between the two instances.  Worst case, you have one thread which is the high pole in the tent starting later.  The "easy" way to check this is to take out the tasking and make the program single-threaded with identical program behavior.
> 
> You could run some tasking tests which I hope have been around forever (ACES), to see what changed in tasking timings.
> 
> Finally, and highly unlikely given the manitude of the timing change, the change in versions will change the order (to some extent) in which alternatives are tested.  These changes can result in the program run time being different because more instances are checked before determining that there is no valid way to continue from that point.  You could check this by putting in an instance counter that is incremented each time a tile is placed.  (Keeping separate counters for each task is an obvious optimization.)
> 
> It would be very interesting if the number of instances checked varied, either from run-to-run or compiler version to compiler version.

Hi,

I made some tests with different number of tasks, but the factor of two between old and new is almost independent of that. I also checked the effect of option -gnato as Mark suggested, but the effect is negligible :

gnat-gpl-2017

$ ./bin/tangle 
using:  8 tasks    duration 851 ms

$ ./bin/tangle -t4
using:  4 tasks    duration 1.213 ms

$ ./bin/tangle -t2
using:  2 tasks    duration 2.346 ms

$ ./bin/tangle -t1
using:  1 tasks    duration 4.638 ms


gnat-gpl-2016

$ ./bin/tangle 
using:  8 tasks    duration 430 ms

$ ./bin/tangle -t4
using:  4 tasks    duration 740 ms

$ ./bin/tangle -t2
using:  2 tasks    duration 1.428 ms

$ ./bin/tangle -t1
using:  1 tasks    duration 2.835 ms


gnat-gpl-2016 with additional -gnato flag

$ ./bin/tangle 
using:  8 tasks    duration 456 ms

$ ./bin/tangle -t4
using:  4 tasks    duration 761 ms

$ ./bin/tangle -t2
using:  2 tasks    duration 1.453 ms

$ ./bin/tangle -t1
using:  1 tasks    duration 2.879 ms

  reply	other threads:[~2017-06-12 19:00 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 [this message]
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
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