I map produces a lazy sequence, time doesn't force it, if you wrap it
in either a dorun or doall, you should get what you expect:

user> (time (map #(Thread/sleep %) '(1000 1000 1000)))
"Elapsed time: 0.156 msecs"
(nil nil nil)
user> (time (doall (map #(Thread/sleep %) '(1000 1000 1000))))
"Elapsed time: 3000.383 msecs"
(nil nil nil)
user>



I think that is what you're running into.


Kyle

On Sat, Jun 6, 2009 at 5:02 PM, artg <artgittle...@gmail.com> wrote:
>
> user=> (time (map answer '(500000 500000)))
> "Elapsed time: 0.032826 msecs"
> (392330 392711)
> user=> (time (answer 500000))
> "Elapsed time: 6357.131423 msecs"
> 392849
>
> When I try to time 'map' it seems to return right away.  How do I time
> the full two executions of 'answer'?
>
> >
>



-- 
------------------------------------------------------------------------------
kyle.bur...@gmail.com                            http://asymmetrical-view.com/
------------------------------------------------------------------------------

--~--~---------~--~----~------------~-------~--~----~
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