From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 7 Apr 93 16:21:33 GMT From: sampson@cod.nosc.mil (Charles H. Sampson) Subject: Re: and then Message-ID: <1993Apr7.162133.3564@nosc.mil> List-Id: In article <19930406.143008.278@almaden.ibm.com> jnestoriak@vnet.IBM.COM writes : >At a recent code inspection, someone suggested that I convert a >series of and's to and then's "for performance". I expect that >90+% of the time all the conditions will be true anyway. But is >it really true that and then will get better performance than >and? I realize this is probably a compiler dependant question. >Also, I question the value of doing such a thing styllistically. >Any opinions? My style is to use the boolean operators generally, reserving the short-circuit forms to document that the second operand should not be eval- uated under some circumstances. Unfortunately, that style can conflict with efficiency considerations. Ada compiler writers appear to have abdicated their responsibility and make no attempt to determine when boolean operations can be optimized as short- circuit. (Somebody contradict me, please.) They apparently feel that if the programmer wants short-circuit he can ask for it. In addition, there are cases when it is unreasonable to expect such an optimization; when the second operand contains a function reference, for example. That said, I still use my style when coding and look for bottlenecks during testing if performance is poor. If efficiency requires that I use an unnecessary short-circuit form, I document that fact in the code. Charlie