From 112d374aedc1edae0c77b56e544388ede434a99a Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 15 Feb 2018 15:03:28 -0800 Subject: [PATCH] sequences.extras: faster join-with. If we initialize the array with the glue, then we just set every other element from the input sequence. --- extra/sequences/extras/extras.factor | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index 5b1e7b4394..c1f2b232b0 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -627,6 +627,5 @@ PRIVATE> [ dup length ] unless* tail-slice ; inline : join-with ( seq glue -- newseq ) - V{ } clone [ - [ '[ _ _ push ] ] [ '[ _ push ] ] bi interleave - ] keep { } like ; + [ dup length dup 1 - + 0 max ] dip + [ '[ 2 * _ set-nth-unsafe ] each-index ] keep ; -- 2.34.1