So, just to be clear,

user> (def nil-seq (doall (interleave (repeat 1e5 nil) (repeat 1e5
"whatever"))) )
#'user/nil-seq

user> (time (doall (keep identity nil-seq)))
"Elapsed time: 122.485848 msecs"

user> (time (doall (remove nil?  nil-seq)))
"Elapsed time: 149.71484 msecs"


--Robert McIntyre


On Wed, Nov 17, 2010 at 5:57 AM, Steve Purcell <st...@sanityinc.com> wrote:
> Miki <miki.teb...@gmail.com> writes:
>> user=> (time (remove nil? (repeat 1000000 nil)))
>> "Elapsed time: 0.079312 msecs"
>> ()
>> user=> (time (filter identity (repeat 1000000 nil)))
>> "Elapsed time: 0.070249 msecs"
>> ()
>>
>> Seems like filter is a bit faster, however YMMV
>
>
> You're not timing the execution, just the construction of a lazy seq:
>
> user> (time (remove nil? (repeat 1000000 nil)))
> "Elapsed time: 0.044 msecs"
> ()
> user> (time (doall (remove nil? (repeat 1000000 nil))))
> "Elapsed time: 772.469 msecs"
> ()
>
> -Steve
>
>
>



>
>
>>
>> On Nov 16, 4:48 pm, Glen Rubin <rubing...@gmail.com> wrote:
>>> What is the fastest way to remove nils from a sequence?
>>>
>>> I usually use the filter function, but I see there are other functions
>>> like remove that should also do the trick.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your 
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to