From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c615e41a65104004 X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Checks off for release code - was Re: Size code Ada and C Date: 1998/07/07 Message-ID: #1/1 X-Deja-AN: 369330073 References: <6n3h9k$vi@lotho.delphi.com> <6n98cb$8so1@odie.mcleod.net> <35987070.777616@SantaClara01.news.InterNex.Net> <6nagkj$ooo@gcsin3.geccs.gecm.com> Organization: The Mitre Corp., Bedford, MA. Newsgroups: comp.lang.ada Date: 1998-07-07T00:00:00+00:00 List-Id: In article dewar@merv.cs.nyu.edu (Robert Dewar) writes: > One more comment on polls with respect to checks off for the release code. > Here again, market input is important. If one found that everyone turns > off checks for delivery, then an implementor might decide to put in less > effort in removing redundant checks. I think for example that Alsys, > anticipating that everyone would keep checks on, put huge effort into > removing redundant checks that might have been better expended in retrospect > on better optimization in general. I've worked on several embedded projects which got to the point of having the "checks on/checks off" debate. My usual suggestion was to recompile with all checks off, and do a quick test. (Usually this code obviously failed several key tests.) At the same time we profiled the code, then chose particular high CPU time units and did differential testing to determine the improvement in each from turning checks off. After a week or two, in every case less than a month, we had a version with checks off in about 5% of the units which outperformed the version with all checks off. This eventually became the baseline for formal testing. Usually what we saw was five to ten percent performance changes in individual units, and by choosing all of the tested units with no harmful effects from turning checks off and a net positive effect on the performance, we could get a 3% or so overall performance enhancement. About ten to fifteen percent of all units should not be compiled with checks off because the logic will fail. With earlier versions of GNAT, this behavior was skewed by the slow handling of what used to be Numeric_Errors. So there were a very few units compiled with -gnato. -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...