comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@attbi.com>
Subject: Re: Ada Versus PL/I - The debate continues
Date: Tue, 01 Apr 2003 02:36:39 GMT
Date: 2003-04-01T02:36:39+00:00	[thread overview]
Message-ID: <3E88FB6B.6010006@attbi.com> (raw)
In-Reply-To: KWuda.121919$b8.17742790@news4.srv.hcvlny.cv.net

John W. Kennedy wrote:

> Robin believes that it is a _good_ thing that PL/I allows the run-time
> ON statement to alter the currently-assigned error recovery, and that
> PL/I allows return to point of error, and will not be convinced that
> both of these were excluded from Ada (and every other language I know of
> with error handling) precisely because experience with PL/I was 
> unfortunate.

Let me add a data point here.  When I was working at Stratus, to support 
Ada style error handling, some changes had to be made in VOS, Stratus 
OS, which was written in PL/I so VOS could support both Ada exception 
handling and PL/I condition handling, mix and match, in the (user and 
OS) stack.

At the code review for the OS changes, there was a lot of discussion 
about what the timing effects on the OS would be.  In cases where an ON 
<condition> was ended by leaving the scope, performance would be 
improved, but if a violation of "strict" nesting of condition handlers 
occured, there would be a serious performance impact.  (The nested 
handlers that were not turned off would have to be added back to the 
stack.)  So we took a few benchmark suites and ran them on a modified 
version of VOS, the average was a 2% reduction in time spent in the OS.) 
  This was very surprising--we hadn't realized that the OS spent that 
much time setting and removing condition lists, and walking the stack. 
So we wrote a quick lisp tool to check the OS source for condition 
handlers.  Over 99% of the condition handlers were terminated by exiting 
the block.  (The remaining cases mostly mapped to the Ada idiom of using 
a declare block to attach an exception handler to a single statement.)

What about the wonderful RESUME feature?  We didn't find a single 
instance in VOS.  (I also fixed a known bug in which repeatedly hitting 
the break key could get you to the default_error_handler, even when you 
were not supposed to be able to get there.  Testing that was fun.  The 
test program, of course, could not be exited, except by rebooting the 
computer.  Even then we had to put in an OS feature to allow some 
programs not to be restarted after a power failure.)






      reply	other threads:[~2003-04-01  2:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Movca.664$dE2.1469@newsfeeds.bigpond.com>
2003-03-16  4:02 ` Ada Versus PL/I - The debate continues Richard Riehle
2003-03-16 21:00   ` John W. Kennedy
2003-03-17 22:44     ` Peter Flass
2003-03-17 23:02       ` Hyman Rosen
2003-03-18  1:49       ` John W. Kennedy
2003-04-01  2:36         ` Robert I. Eachus [this message]
replies disabled

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