comp.lang.ada
 help / color / mirror / Atom feed
From: dsmith@clark.net (Doug Smith)
Subject: Re: Run-time checking and speed
Date: Thu, 12 Jan 1995 20:49:54 -0500
Date: 1995-01-12T20:49:54-05:00	[thread overview]
Message-ID: <dsmith-1201952049540001@dsmith-ppp.clark.net> (raw)
In-Reply-To: 3f3deb$4us@gnat.cs.nyu.edu

In article <3f3deb$4us@gnat.cs.nyu.edu>, dewar@cs.nyu.edu (Robert Dewar) wrote:

> T.E.D. says
> 
> "As for constraint checks, try to leave them in until your product is
> THOROUGHLY debugged. They are worth their weight in gold during the
> debugging phase."
> 
> [snip]
> 
> [snip...]to meet processing efficiency [...] you may have to abandon the
> checks, but do this only when you have to [...snip]
> 
> The penalty of run time checks can run anywhere from 5-50% depending on the
> code. [snip]
> 
> [snip]
> 
> Another situation where it is quite appropriate to turn off run time checks
> is in verified safety critical code where part of the verification ensures
> that the checks are not needed. You have to be *very* sure of your 
> verification technology to depend on this!

OK, some personal experience which has been verified countless times by
fellow engineers. A small percentage (10%) of the code accounts for (90%)
of the processing. In case after case, a dynamic analysis tool identifies
the code executed the most, the engineer optimizes and gets almost an order
of magnitude speed improvement.

In the old days (i.e. early compilers), I measured executable size differences
that showed half of the code was constraint checking (Today's compilers do
a much better job). By redesigning the code to explicitly check for and
raise the correct exceptions, I could then suppress the compiler generated
constraint checking.

Formal verification was helpful in increasing the confidence level of me and my fellow engineers; but since this was not a safety critical application, there weren't many arguments when they saw the performance results.

-- 
Doug Smith
dsmith@clark.net



  reply	other threads:[~1995-01-13  1:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-01-10 22:20 Run-time checking and speed Tony Leavitt
1995-01-12  1:14 ` Roger Labbe
1995-01-13 12:09   ` Philip Brashear
     [not found] ` <3f0prq$3bq@theopolis.orl.mmc.com>
1995-01-12 14:13   ` Robert Dewar
1995-01-13  1:49     ` Doug Smith [this message]
1995-01-13 15:29       ` Norman H. Cohen
1995-01-13 15:21     ` Norman H. Cohen
     [not found]     ` <3fa2pk$kbi@felix.seas.gwu.edu>
     [not found]       ` <EACHUS.95Jan17151835@spectre.mitre.org>
     [not found]         ` <3fjhrj$9b3@oahu.cs.ucla.edu>
1995-01-20  5:11           ` Robert Dewar
1995-01-23 16:43             ` Mats Weber
1995-01-24 19:25               ` Robert Dewar
1995-01-22 18:43         ` Michael Feldman
1995-01-23 23:38           ` Robert Dewar
1995-01-26 16:14             ` Kent Mitchell
1995-01-28  6:03               ` Robert Dewar
     [not found]             ` <3gbr4f$p4b@theopolis.orl.mmc.com>
1995-01-29 13:00               ` Robert Dewar
1995-01-30 19:21                 ` Garlington KE
1995-01-12 15:11 ` Norman H. Cohen
  -- strict thread matches above, loose matches on Subject: below --
1995-01-12 15:54 Keith Arthurs
replies disabled

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