comp.lang.ada
 help / color / mirror / Atom feed
From: Peter Brooks <peter.h.m.brooks@gmail.com>
Subject: Re: Bug in 'gnatmake' (Was: Range check for type 'Integer')
Date: Mon, 17 Jun 2013 18:21:13 -0700 (PDT)
Date: 2013-06-17T18:21:13-07:00	[thread overview]
Message-ID: <35b14a90-0f39-4b90-87b4-be0432af71ca@v17g2000vba.googlegroups.com> (raw)
In-Reply-To: kpnue3$s08$1@dont-email.me

On Jun 17, 11:22 pm, Jeffrey Carter
<spam.jrcarter....@spam.not.acm.org> wrote:
> On 06/17/2013 12:15 PM, Peter Brooks wrote:
>  >
>  > 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?
>  > More or less.
>
> IMO, leaving on checks speeds things up a bit, if you're interested in correct
> code; code without buffer-overflow and integer-overflow vulnerabilities and the
> like. An Ada compiler can optimize away many index checks, for example, which
> doesn't happen to checks manually inserted in a language without automatic
> checks. So it should be the case that correct code in Ada is faster than
> equivalent code in a language without automatic checks.
>
> Of course, if correctness isn't an issue, then things might work otherwise. But
> if correctness isn't an issue, the null program should be an acceptable solution
> to any problem, and that should be just as fast in Ada as in any other language.
>
>  > 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.
>
> There's always the Ada (83) beats assembler paper:
>
> http://www.seas.gwu.edu/~adagroup/sigada-website/lawlis.html
>
Thank you for that - I'd not read it. It makes the point very well!

  reply	other threads:[~2013-06-18  1:21 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
2013-06-17 21:22       ` Jeffrey Carter
2013-06-18  1:21         ` Peter Brooks [this message]
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