comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: Bug in 'gnatmake' (Was: Range check for type 'Integer')
Date: Mon, 17 Jun 2013 14:09:57 -0700 (PDT)
Date: 2013-06-17T14:09:57-07:00	[thread overview]
Message-ID: <12d67b9f-02ca-4f24-aeaa-db9b0e4e92cc@googlegroups.com> (raw)
In-Reply-To: <049bb1b4-4a9f-4238-8d60-c990f1a1d392@u9g2000vbc.googlegroups.com>

On Monday, June 17, 2013 1:15:26 PM UTC-6, Peter Brooks wrote:
> On Jun 17, 6:50 pm, Robert A Duff <bobd...@shell01.TheWorld.com>
> 
> wrote:
> >
> > You usually want -g (debugging info).  And the debugger works
> > better if you turn off optimizations (-O0).
> >
> 
> Since you mention it, I'm interested to know if there are many Ada
> benchmarks.
> 
> Leaving on range, and other, checking must slow things down a tad, but
> turning the optimiser on must speed them up. It'll only really matter
> in CPU intensive stuff, but do you have any idea what the effects are?

I'm not sure about that -- one user here did some testing (C++ vs Ada [w/ checks and w/o; IIRC, all optimized]) and found that the difference in C++ and checked Ada was basically measurement-error. [Again, IIRC.]

Also to note is that Ada compilers are generally good about removing unneeded checks FOR INDEX IN THE_ARRAY'RANGE LOOP, for example doesn't need any checks precisely *because* the checks are implicit in setting the ranges of the for-loop -- and that is the oversimple case.

> 
> I know I could just take my code and try it, but it'd be interesting
> to have a bigger picture of the performance question.

IMO this is somewhat akin to some people trying to optimize the number of tasks based on their CPU core-count -- that's the stupid way to go, use TASKs to split your program logically and let the run-time handle managing things. If there's more tasks than Cores, great the cores will all be active -- if not then another core can do more meaningful work from somewhere else, great! (IE no need to optimize so prematurely.)

  reply	other threads:[~2013-06-17 21:09 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-17 10:57 Range check for type 'Integer' Peter Brooks
2013-06-17 11:23 ` Simon Clubley
2013-06-17 11:54   ` Simon Wright
2013-06-17 12:55   ` Peter Brooks
2013-06-17 13:28     ` Shark8
2013-06-17 13:45       ` Peter Brooks
2013-06-17 21:16         ` Shark8
2013-06-18 10:48     ` Stephen Leake
2013-06-17 12:46 ` Dmitry A. Kazakov
2013-06-17 13:23 ` Bug in 'gnatmake' (Was: Range check for type 'Integer') Jacob Sparre Andersen
2013-06-17 13:32   ` Bug in 'gnatmake' Jacob Sparre Andersen
2013-06-17 16:50   ` Bug in 'gnatmake' (Was: Range check for type 'Integer') Robert A Duff
2013-06-17 19:15     ` Peter Brooks
2013-06-17 21:09       ` Shark8 [this message]
2013-06-17 21:22       ` Jeffrey Carter
2013-06-18  1:21         ` Peter Brooks
2013-06-18  6:33           ` Jeffrey Carter
2013-06-18  7:29       ` Georg Bauhaus
2013-06-17 18:49   ` Bug in 'gnatmake' Simon Wright
2013-06-18  9:09     ` Elaboration order handling (Was: Bug in 'gnatmake') Jacob Sparre Andersen
2013-06-18 17:09       ` Robert A Duff
2013-06-18 22:52         ` Adam Beneschan
2013-06-19  1:21           ` Jeffrey Carter
2013-06-19 12:38             ` Robert A Duff
2013-06-19 20:43               ` Georg Bauhaus
2013-06-20  0:37                 ` Robert A Duff
2013-06-20 19:56                   ` Georg Bauhaus
2013-06-19 12:22           ` Robert A Duff
2013-06-19 15:46             ` Adam Beneschan
2013-06-19 16:41               ` Robert A Duff
2013-06-19 20:47               ` Georg Bauhaus
2013-06-19 21:36                 ` Adam Beneschan
2013-06-20  0:57                 ` Robert A Duff
2013-06-20  1:09                   ` Jeffrey Carter
2013-06-20  2:29                     ` Adam Beneschan
2013-06-20  6:08                       ` Jeffrey Carter
2013-06-20 15:11                     ` Robert A Duff
2013-06-21  5:26                       ` Jeffrey Carter
2013-06-21 15:48                         ` Adam Beneschan
2013-06-21 18:35                           ` Jeffrey Carter
2013-06-21 19:10                             ` Robert A Duff
2013-06-21 21:27                               ` Jeffrey Carter
2013-06-21 20:43                             ` Adam Beneschan
2013-06-21 21:44                               ` Jeffrey Carter
2013-06-21 23:47                                 ` Robert A Duff
2013-06-23 14:43                                   ` AdaMagica
2013-06-21 18:58                         ` null declarative parts (was: Re: Elaboration order handling) Robert A Duff
2013-06-21 20:42                           ` null declarative parts Georg Bauhaus
2013-06-20  2:11                   ` Elaboration order handling (Was: Bug in 'gnatmake') Adam Beneschan
2013-06-20 14:44                     ` Robert A Duff
2013-06-20 11:24                   ` G.B.
2013-06-20 15:23                     ` Robert A Duff
2013-06-19 21:00             ` Georg Bauhaus
2013-06-19 22:26             ` Randy Brukardt
2013-06-20  0:31               ` Robert A Duff
2013-06-20 21:36                 ` Randy Brukardt
2013-06-19 13:07         ` Bill Findlay
replies disabled

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