Eps


e.
Improved
initial writing: 2004-01-15
last updated: 2004-10-26


The dyad e. is now faster and leaner
(as are other members of the i. family of facilities).
The following benchmarks demonstrate the improvement.

xb6=: 1e6 6 [email protected]$ 2       [ yb6=: 5e5 6 [email protected]$ 2
xc2=: a.{~ 1e6 [email protected]$ #a. [ yc2=: a.{~ 5e5 [email protected]$ #a.
xc6=: a.{~ 1e6 [email protected]$ #a. [ yc6=: a.{~ 5e5 [email protected]$ #a.
xu=: u: 1e6 [email protected]$ 65536   [ yu =: u: 5e5 [email protected]$ 65536
xi5=: 1e6 [email protected]$ 1e5       [ yi5=: 5e5 [email protected]$ 1e5
xi6=: 1e6 [email protected]$ 1e6       [ yi6=: 5e5 [email protected]$ 1e6
xi9=: 1e6 [email protected]$ 1e9       [ yi9=: 5e5 [email protected]$ 1e9
xd =: 0.01*1e6 [email protected]$ 1e6  [ yd =: 0.01*5e5 [email protected]$ 1e6
xbx=: ":&.>?1e6$2e5     [ ybx=: ":&.>?5e5$2e5
ts=: 6!:2 , 7!:[email protected]]   NB. time and space
ts 'Expression'
    Expression    J 5.03    J 5.02    Ratio
xb6 e.yb6 Boolean table   0.3550303   5.243648e6   0.4062659   8.389440e6   1.14  1.60
xc2 e.yc2 literal table   0.0332989   1.180352e6   0.0965637   5.243648e6   2.90  4.44
xc6 e.yc6 literal table   1.0059639   5.243648e6   1.0335719   8.389440e6   1.03  1.60
xu  e.yu  Unicode list   0.0332559   1.180352e6   0.0933937   5.243648e6   2.81  4.44
xi5 e.yi5 integer list   0.0825823   1.180352e6   0.1567783   8.389376e6   1.90  7.11
xi6 e.yi6 integer list   0.1898973   2.097856e6   0.2546452   8.389376e6   1.34  4.00
xi9 e.yi9 integer list   0.5774994   5.243584e6   0.6632033   8.389376e6   1.15  1.60
xd  e.yd  real list   1.1078422   5.243584e6   1.1294243   8.389376e6   1.02  1.60
xbx e.ybx boxed list   3.2511353   5.243584e6   3.2240441   8.389376e6   0.99  1.60