"Marin David Condic" a �crit dans le message news: 9i1qig$36o$1@nh.pace.co.uk... > In general, I'd agree. However, there might be cases where this is not true. > If, for example, I'm doing a lot of computations in a tight loop over a > really large number of iterations, the constraint checking of numeric values > might add a considerable overhead. Imagine you write X := X + 1 ; That ought > to degenerate to a single add instruction with descent optimization, but if > you have to do the computation then check that you have not exceeded the > range of X's subtype and possibly do something to raise Constraint_Error, > that single instruction can expand to quite a few. Do that in a tight loop a > million times or so and you'll see some significant changes in performance. > Sure. But don't forget that you can put a pragma suppress in a declare block, so that it will affect only that sequence which is truly critical, and not the 99% of the remaining code. Too often, people think that checks are "on" or "off" for the whole program (which happens if you do that with a compiler option). Ada provides finer granularity. -- --------------------------------------------------------- J-P. Rosen (rosen@adalog.fr) Visit Adalog's web site at http://www.adalog.fr