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