So the space saving is actually x5 times

   2.09722e7 % 4.19501e6     <<<
4.99932

And space does not depend on argument being power of 2.

The idea is to extend this over to

  y <[EMAIL PROTECTED] 0.3

and for z=. %1+y 

  z <[EMAIL PROTECTED] 256

Does it make sense?

For example, the results in j602 between

   ts 'y <[EMAIL PROTECTED] %0.3'
   ts 'y <[EMAIL PROTECTED]  0.3'


--- Roger Hui <[EMAIL PROTECTED]> wrote:

> Integer <[EMAIL PROTECTED] has already been made faster and leaner
> in J6.02x as previously discussed in the forum.
> The improvement is the greatest when the divisor
> is a power of 2.
> 
>    y=: 1e6 [EMAIL PROTECTED] 1000
>    ts=: 6!:2 , 7!:[EMAIL PROTECTED]
> 
>    NB. J6.02x
>    ts '<.y%3'
> 0.215045 2.09721e7   <<<
>    ts 'y <[EMAIL PROTECTED]'
> 0.023161 4.19501e6   <<<
>    ts 'y <[EMAIL PROTECTED] 256'
> 0.0102885 4.19507e6
>    
>    NB. J6.01
>    ts '<.y%3'
> 0.215612 2.09721e7
>    ts 'y <[EMAIL PROTECTED] 3'
> 0.216431 2.09722e7   <<<
>    ts 'y <[EMAIL PROTECTED] 256'
> 0.219403 2.09723e7
> 
> 
> 
> ----- Original Message -----
> From: Oleg Kobchenko <[EMAIL PROTECTED]>
> Date: Monday, February 12, 2007 6:36 pm
> Subject: Re: [Jgeneral] large space overhead
> 
> > How about this
> > 
> > >    y=: 1e6 [EMAIL PROTECTED] 1000
> > 
> >   s=: y%3
> >   ts '<.s'
> > 0.190772 1.25836e7
> >   ts '<.y%3'
> > 0.209075 2.09721e7
> >   ts 'y<[EMAIL PROTECTED]'
> > 0.209349 2.09722e7
> > 
> >   ts 'y<[EMAIL PROTECTED]"0]3'
> > 0.846868 4.19571e6
> >   ts '0.3<[EMAIL PROTECTED]"0 y'
> > 0.84268 4.1959e6
> > 
> >   0.846868 4.19571e6 % 0.190772 1.25836e7
> > 4.43916 0.333427
> >   0.846868 4.19571e6 %~ 0.190772 1.25836e7
> > 0.225268 2.99916
> > 
> > I.e. if integerization is done memberwise,
> > the space savings is three times.
> > But at the expense of speed, which should be
> > compensated by special code.
> > 
> > 
> > --- Roger Hui <[EMAIL PROTECTED]> wrote:
> > 
> > > A quick benchmark:
> > > 
> > >    x=: 1e6 [EMAIL PROTECTED] 0
> > >    y=: 1e6 [EMAIL PROTECTED] 1000
> > >    t=: x*y
> > > 
> > >    ts=: 6!:2 , 7!:[EMAIL PROTECTED]
> > >    ts '<.t'
> > > 0.201745 1.25836e7
> > >    ts '<.x*y'
> > > 0.242125 2.09721e7
> > > 
> > >    0.242125 2.09721e7 % 0.201745 1.25836e7
> > > 1.20015 1.66662
> > > 
> > > Factor of 1.2 in time and 1.7 in space.  Not worth it.
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 



 
____________________________________________________________________________________
Finding fabulous fares is fun.  
Let Yahoo! FareChase search your favorite travel sites to find flight and hotel 
bargains.
http://farechase.yahoo.com/promo-generic-14795097
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to