On Fri 01/10/10 06:52 , Mark Engelberg mark.engelb...@gmail.com sent:
> On Thu, Sep 30, 2010 at 9:13 PM, ataggart  agg...@gmail.com> wrote:> As with 
> most microbenchmarks you're measuring
> the test more than the> subject.  In the above case the seq
> generation dominates.>
> > Compare the following on my machine:
> > user=> (time (doseq [x (range 100000)]
> (bit-shift-left x 1)))> "Elapsed time: 3531.198
> msecs"> nil
> > user=> (time (dotimes [x 100000]
> (bit-shift-left x 1)))> "Elapsed time: 3.744 msecs"
> > nil
> 
> But if you replace the bit-shift-left operation with some other
> arithmetic operation in the doseq expression, it is quite fast, thus
> disproving your assertion that the slowdown is caused by the overhead
> of doseq.  Furthermore, as we've already discussed, type hinting the x
> or removing the inline delcaration from bit-shift-left makes the
> problem go away -- inside the doseq expression.
> 
> So, if it is true that range produces objects and dotimes produces
> primitive longs, then I believe that it is the odd interaction between
> bit-shift-left's inlining and long objects (as opposed to primitives)
> that is causing the disparity in your measurements, not something
> inherent in the mechanism of doseq vs dotimes.
> 
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to cloj
> u...@googlegroups.comnote 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.comfor 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