a=. '-'
   b=. 100000#<,'a'

(,&a &.>) has a lot of memory allocations at once,
but it's very fast

   ts'}:@;@:(,&a &.>) b'
0.0267479 7.85965e6


Explicit loop has fewer allocations, but
loses because it's explicit.
   ts'a join1 b'
0.625234 396032

(, a&,)&.>/ should have been most efficient,
because it does not allocate (much) unnecessary memory,
but it makes a lot of new allocations (see in Kernel times).

   ts'>@((, a&,)&.>/) b'
10.4247 789312

However this pattern (, f)&.>/ is treated
as equivalent to join2:

   ts'a join2 b'
11.5594 1.46112e6

not as r=. r, ... as in join1, which is optimized.


join1=: 4 : 0
  r=. ''
  for_i. y do.
    if. #r do. r=. r,'-' end.
    r=. r,>i
  end.
)

join2=: 4 : 0
  r=. >{:y
  for_i. |.}:y do.
    r=. (>i), '-'&, r
  end.
)


--- Björn Helgason <[EMAIL PROTECTED]> wrote:

>  }.,'-'  ,"1 > ,.'a';'bc';'def'
> 
> 
> 
> 2007/6/14, Henry Rich <[EMAIL PROTECTED]>:
> >
> > I often have boxed data like
> >
> > 'a';'bc';'def'
> >
> > that I want to run together with delimiters, for example
> >
> > a-bc-def
> >
> > I admit this is not such a challenge; my best solution is
> >
> > }:@;@:(,&'-'&.>) 'a';'bc';'def'
> >
> >
> > But I don't like the way it looks; especially I don't like
> > that }: is really the obverse of (,&'-') but that fact does not
> > appear (and I don't want to add yet more code by replacing }:
> > with ,&'-'^:_1 ).
> >
> > We have a function that runs boxes together: ;:^:_1 .  Why
> > not let it take a Fit that gives the delimiter
> > (' ' by default)?  Then I would write
> >
> > ;:^:_1!.'-' 'a';'bc';'def'
> >
> > Much more elegant, I say.
> >
> > Henry Rich
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> 
> 
> 
> -- 
> Björn Helgason, Verkfræðingur
> Fugl&Fiskur ehf, Þerneyjarsund 23, Box 127
> 801 Grímsnes ,t-póst: [EMAIL PROTECTED]
> Skype: gosiminn, gsm: +3546985532
> Landslags og skrúðgarðagerð, gröfuþjónusta
> http://groups.google.com/group/J-Programming
> 
> 
> Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari einfaldleikans
> 
> góður kennari getur stigið á tær án þess að glansinn fari af skónum
>           /|_      .-----------------------------------.
>          ,'  .\  /  | Með léttri lund verður        |
>      ,--'    _,'   | Dagurinn í dag                     |
>     /       /       | Enn betri en gærdagurinn  |
>    (   -.  |        `-----------------------------------'
>    |     ) |        (\_ _/)
>   (`-.  '--.)       (='.'=)
>    `. )----'        (")_(")
> > ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm



       
____________________________________________________________________________________
Be a better Globetrotter. Get better travel answers from someone who knows. 
Yahoo! Answers - Check it out.
http://answers.yahoo.com/dir/?link=list&sid=396545469
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to