Help / Release / J 4.06 / 2 f/\y Improved

From J Wiki
Jump to navigation Jump to search


>> << Pri JfC LJ Phr Dic Voc !: Rel NuVoc wd Help Release



2 f/\y

Improved

initial writing: 2000-10-16
last updated: 2000-10-17


2 f/\y and 2 f~/\y for atomic (scalar) f and vector y are now implemented by special code. The table below presents time and space comparisons; the bottom section of the table shows that 2 f/\x is more efficient in time and space than the equivalent (}:x) f (}.x) .


   ts=: 6!:2 , 7!:2@]          time and space

   x=: ?. 1e5$1e9              integer
   y=: o. x                    floating point
   b=: ?. 1e5$2                boolean

Expression J 4.06       J 4.05      
2 - /\ x 0.0101418 527680 0.531219 2.09965e6  52.4  4.0
2 -~/\ x 0.0113101 527808 1.31717 2.09997e6 116.5  4.0
2 - /\ y 0.0171701 1.05197e6 0.541559 3.14822e6  31.5  3.0
2 -~/\ y 0.0160286 1.0521e6 1.32591 3.14854e6  82.7  3.0
2 - /\ b 0.00716321 657856 0.523366 1.70643e6  73.1  2.6
2 -~/\ b 0.0072378 657984 1.37632 1.70675e6 190.2  2.6
2 = /\ x 0.00491963 134464 1.31017 1.70662e6 266.3 12.7
2 = /\ y 0.031111 134464 1.39055 2.23091e6  44.7 16.6
2 = /\ b 0.00332641 264640 0.496923 1.31322e6     149.4  5.0
 
(}:x) - }.x 0.0310104 1.57395e6 0.0287735 1.57408e6
(}:y) - }.y 0.0524774 3.14694e6 0.0567701 3.14682e6
(}:x) = }.x 0.0288322 1.18086e6 0.0262643 1.18074e6
(}:y) = }.y 0.0636392 2.22944e6     0.0641831 2.22931e6
(}:b) = }.b   0.00508138   394432 0.00617677   394432




>> << Pri JfC LJ Phr Dic Voc !: Rel NuVoc wd Help Release