comp.lang.ada
 help / color / mirror / Atom feed
From: Vinzent Hoefler <ada.rocks@jlfencey.com>
Subject: Re: Optimizing Boundary Checks
Date: Fri, 13 Jun 2003 14:38:33 +0200
Date: 2003-06-13T14:38:33+02:00	[thread overview]
Message-ID: <bccgn1$hvlg3$1@ID-175126.news.dfncis.de> (raw)
In-Reply-To: 20030613140324.0000372e._elh_@_terma_._com_

Erlo Haugen wrote:

>On Fri, 13 Jun 2003 11:49:03 +0000 (UTC)
>Preben Randhol <randhol+abuse@pvv.org> wrote:
>
>> After reading some posts here lately I have understood that the compiler
>> can optimise out boundary checks on say arrays if you do this:
>> 
>>    type Index_Range is range 1 .. 10;
>>    type Items is array (Index_Range) of Natural;
>> 
>> But if you write:
>> 
>>    type Items is array (1 .. 10) of Natural;
>> 
>> is boundary checks then on?
>
>Yes, but in this case (principally) every acces to the array has to be checked,
>whereas in the former case, the index is guaranteed to be within range.

Well, the compiler *could* see that the type Index_Range always
satisfies the same constraint as for the array. I don't know for sure,
but I'd think, it does, because somehow it must store the constraints
for any type anyway and I strongly doubt that an optimizer would work
on type names instead of actual numbers describing their constraints.

OTOH, I think, using such unnamed indices is a quite bad idea anyway,
because it breaks the type safety. So simply: Don't do it. :-)


Vinzent.

-- 
Parents strongly cautioned  --  this  posting  is  intended for mature
audiences  over  18.  It  may  contain some material that many parents
would not find suitable for children and may include intense violence,
sexual situations, coarse language and suggestive dialogue.



  reply	other threads:[~2003-06-13 12:38 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-13 11:49 Optimizing Boundary Checks Preben Randhol
2003-06-13 12:03 ` Erlo Haugen
2003-06-13 12:38   ` Vinzent Hoefler [this message]
2003-06-13 12:47     ` Preben Randhol
2003-06-13 13:28       ` Vinzent Hoefler
2003-06-13 12:42   ` Preben Randhol
2003-06-13 12:48     ` Preben Randhol
2003-06-13 13:28       ` Vinzent Hoefler
2003-06-13 13:56         ` Preben Randhol
2003-06-13 14:42           ` Vinzent Hoefler
2003-06-13 15:25             ` Preben Randhol
2003-06-13 15:34               ` Vinzent Hoefler
2003-06-14 10:45                 ` Preben Randhol
2003-06-14 14:59                   ` James Rogers
2003-06-13 13:33       ` Peter Amey
2003-06-13 13:34 ` Martin Dowie
2003-06-13 13:48   ` Vinzent Hoefler
2003-06-13 14:37     ` Martin Dowie
2003-06-13 15:12       ` Vinzent Hoefler
2003-06-14  2:01         ` Jeffrey Carter
2003-06-16 11:23           ` Vinzent Hoefler
2003-06-14  8:34         ` Dmitry A. Kazakov
2003-06-14 17:20         ` Robert I. Eachus
2003-06-16 11:23           ` Vinzent Hoefler
2003-06-18 20:58             ` Brian Gaffney
2003-06-13 13:45 ` Dale Stanbrough
replies disabled

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