I ran into this exact issue on an alioth benchmark. Adding the explicit (long ...) conversion gets rid of the reflection warning, but didn't have a significant effect on performance. The inner loop is still boxing the return value.
On Thursday, September 15, 2011 8:36:53 AM UTC-7, Sean Corfield wrote: > > On Thu, Sep 15, 2011 at 7:50 AM, David Nolen <dnolen...@gmail.com> wrote: > > Loop itself will return boxed values I think. > > Looks that way. The following code has no reflection warning: > > (loop [x 1 changed 0] > (if (= x 10) > changed > (recur (inc x) > (long (loop [y 1 changed-y changed] > changed-y))))) > -- > Sean A Corfield -- (904) 302-SEAN > An Architect's View -- http://corfield.org/ > World Singles, LLC. -- http://worldsingles.com/ > Railo Technologies, Inc. -- http://www.getrailo.com/ > > "Perfection is the enemy of the good." > -- Gustave Flaubert, French realist novelist (1821-1880) > > -- 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