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.)
prev parent 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