From: Sam S. <sd...@gn...> - 2003-01-31 22:40:42
|
> * In message <159...@ho...> > * On the subject of "Re: [i]array_displace_check()" > * Sent on Fri, 31 Jan 2003 22:32:44 +0100 (CET) > * Honorable Bruno Haible <ha...@il...> writes: > > Sam writes (to the wrong mailing list): > > iarray_displace_check() differes from array_displace_check() by only > > one check in the beginning. > > shouldn't the former be dropped and replaced with the latter?! > > I don't believe that deoptimization of a carefully handcrafted code is > a reasonable thing to do. replacing a call to iarray_displace_check with a call to array_displace_check adds one check - simple_arrayp. > > (the potential performance hit from the extra check might be made up for > > by the smaller code size :=) > > I don't think so. 2 function calls instead of 1 function call for the > simple task of preparing the access to an array: it _does_ matter for > performance. there will still be only one function call. iarray_displace_check() should be removed altogether and all calls replaced with array_displace_check(). > Indirect arrays are frequent enough that this case is worth not being > pessimized. (Used by vector-push-extend, for I/O buffers, in streams, > etc.) ok. -- Sam Steingold (http://www.podval.org/~sds) running RedHat8 GNU/Linux <http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/> <http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html> Two wrongs don't make a right, but three rights make a left. |