From: Jeffrey Carter <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: Bug in 'gnatmake' (Was: Range check for type 'Integer')
Date: Mon, 17 Jun 2013 14:22:54 -0700
Date: 2013-06-17T14:22:54-07:00 [thread overview]
Message-ID: <kpnue3$s08$1@dont-email.me> (raw)
In-Reply-To: <049bb1b4-4a9f-4238-8d60-c990f1a1d392@u9g2000vbc.googlegroups.com>
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
--
Jeff Carter
"Pray that there's intelligent life somewhere up in
space, 'cause there's bugger all down here on earth."
Monty Python's Meaning of Life
61
next prev parent reply other threads:[~2013-06-17 21:22 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 [this message]
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