Two remarks: 1) Notation wise (<a:;32)} looks like a cousin of APL [;32] 2) Rank processing involves more overhead (possibly a fixed looping pattern?
1000 ts 'd=. q (<a:;32)} x' 0.000916463 8916096 1000 ts 'c=. q (33})"0 1 x' 0.003424345 8394752 On Tue, Dec 26, 2017 at 11:27 AM, Henry Rich <henryhr...@gmail.com> wrote: > Note: y =. x m} y is in-place and faster for that reason. > > x=. q 3}&.|: x also does the amend in-place. > > It does appear that m}"r goes through rank processing (I thought the rank > was handled in the verb). > > hhr > > > On 12/26/2017 10:44 AM, R.E. Boss wrote: > >> x=: 10000 60 ?.@$ 0 >> q=: 10000 ?.@# 0 >> >> 100 ts 'c=. q (<a:;30)} x' >> 0.0026698188 8915712 >> 100 ts 'x=. q (<a:;30)} x' >> 0.00017353792 527104 >> >> 100 ts 'x=. q 3}&.|: x' >> 0.0089778759 16780160 >> 100 ts 'd=. q (3})"0 1 x' >> 0.0073609598 30150016 >> >> >> R.E. Boss >> >> >> >> -----Original Message----- >>> From: Programming [mailto:programming-boun...@forums.jsoftware.com] >>> On Behalf Of David Mitchell >>> Sent: dinsdag 26 december 2017 12:15 >>> >>> Some choices: >>> >>> 2000 ts 'e=. q 3}&.|: x' >>> 2.56966e_5 3571 >>> 2000 ts 'd=. q (3})"0 1 x' >>> 5.65454e_5 43648 >>> 2000 ts 'c=. q (<a:;3)} x' >>> 1.36101e_5 27136 >>> >>> $q >>> 192 >>> $x >>> 192 6 >>> >>> David Mitchell >>> >>> ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm