One more nit to pick: benchmarks would be more sensitive if you factor out any common parts. That is, if you do
ts 'A and B' ts 'C and B' the time-space numbers for A vs. C can be masked by the time-space numbers for B, depending on how expensive B is. For this particular example: ct=: 2^_44 ts=: 6!:2 , 7!:[EMAIL PROTECTED] ts '(**<.@:|)(100000$i:5)--:ct' 0.025082 4.19622e6 ts '(**<.@:|)x' [ x=: (100000$i:5)--:ct 0.0223135 2.62234e6 ----- Original Message ----- From: Mike Day <[EMAIL PROTECTED]> Date: Tuesday, October 24, 2006 0:51 am Subject: Re: [Jprogramming] fuzzy <.0 > OK Roger - trapped by type the second time this week! > > NB. as you say: > (datatype@".;ts)'(**<.@:**)(100000$i:5)--:ct' > +--------+-------------------+ > |floating|0.0105938 3.67232e6| > +--------+-------------------+ > NB. the following forced integer is still quite nifty > (datatype@".;ts)'(<[EMAIL PROTECTED]<.@:**)(100000$i:5)--:ct' > +-------+-------------------+ > |integer|0.0309942 4.72128e6| > +-------+-------------------+ > NB. but > (datatype@".;ts)'(**<.@:|)(100000$i:5)--:ct' > +-------+-------------------+ > |integer|0.0255591 4.19622e6| > +-------+-------------------+ > ... so the more natural way is preferable after all > if/when integer results are required. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
