| u/"r Improved |
initial writing: 2003-09-04 last updated: 2004-10-26 |
u/"r y where r>0 and 2=(-r){$y (insert over an axis of length 2) is now faster for the following combinations:
| Verb u | Rank r | Argument Type | |||
| = ~: | any | literal | |||
| = ~: < <: > >: | any | integer, floating point | |||
| = ~: < <: > >: <. >. +. +: * *. *: | 1 | Boolean |
The following benchmarks demonstrate the improvement:
i1=: ?1e6 2$1e6
i3=: ?1000 2 10 100$1e6
d1=: o. i1
d3=: o. i3
c1=: a.{~?1e6 2$256
c3=: a.{~?1000 2 10 100$256
b1=: ?10 1e5 2$2
ts=: 6!:2 , 7!:2@]
ts 'Expression'
| Expression | J 5.03 | J 5.02 | Ratio | |||
| </"1 i1 | 0.035357 1.049856e6 | 3.409647 1.050240e6 | 96.43 1.00 | |||
| </"1 d1 | 0.150371 1.049856e6 | 3.591794 1.050240e6 | 23.89 1.00 | |||
| </"3 i3 | 0.040242 1.049792e6 | 0.071851 1.070336e6 | 1.79 1.02 | |||
| </"3 d3 | 0.138132 1.049792e6 | 0.188177 1.086720e6 | 1.36 1.04 | |||
| =/"1 i1 | 0.035739 1.049856e6 | 3.493348 1.050240e6 | 97.75 1.00 | |||
| =/"1 d1 | 0.172347 1.049856e6 | 3.612539 1.050240e6 | 20.96 1.00 | |||
| =/"3 i3 | 0.040809 1.049792e6 | 0.060829 1.070336e6 | 1.49 1.02 | |||
| =/"3 d3 | 0.147929 1.049792e6 | 0.195685 1.086720e6 | 1.32 1.04 | |||
| =/"1 c1 | 0.018211 1.049856e6 | 3.401312 1.050240e6 | 186.77 1.00 | |||
| =/"3 c3 | 0.020371 1.049792e6 | 0.029415 1.062144e6 | 1.44 1.01 | |||
| = /"1 b1 | 0.014215 1.049856e6 | 0.050325 1.049856e6 | 3.54 1.00 | |||
| ~:/"1 b1 | 0.014147 1.049856e6 | 0.038562 1.049856e6 | 2.73 1.00 | |||
| < /"1 b1 | 0.014595 1.049856e6 | 0.054640 1.049856e6 | 3.74 1.00 | |||
| +./"1 b1 | 0.014129 1.049856e6 | 0.062113 1.049856e6 | 4.40 1.00 |