I'm writing some low-level byte manipulation library and want it to be as efficient as possible, so I just want to know the cost of trivial things like this before designing the API. It can be negligible as you said, but I wanted to know why it is slow and what's happening under the hood anyway.
On Apr 25, 12:55 am, Softaddicts <lprefonta...@softaddicts.ca> wrote: > I am not convinced that this test is representative. > If you are not using l but still hinting it's type, you may have extra > code generated in the function body to handle the type hint. > > 4 milliseconds divided by a million is a very low overhead IMHO. > I would hardly qualify this as being inefficient. > > I would expect to see a gain if you had some calls done on the argument to > qualify how much you save by avoiding reflection. > > I did not open the cover of the byte code generated by the compiler however. > It could be an edge case not optimized yet. On the other hand if the argument > is not > used at all, why bother with such an edge case ? > > Luc P. > > > > > > > > > > > On 24/04/13 16:35, Alice wrote: > > > (defn foo [^long l cb] (cb l)) > > > > (time > > > (dotimes [n 1000000] > > > (foo n (fn [l] nil)))) > > > > (time > > > (dotimes [n 1000000] > > > (foo n (fn [^long l] nil)))) > > > > "Elapsed time: 7.861 msecs" > > > "Elapsed time: 11.770973 msecs" > > > > Why is the latter slower? > > > You should be getting very similar timings from these 2 versions as the > > type-hinted arg 'l' is never used anywhere - you're just returning nil... > > > Jim > > > -- > > -- > > 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 unsubscribe from this group and stop receiving emails from it, send an > > email to clojure+unsubscr...@googlegroups.com. > > For more options, visithttps://groups.google.com/groups/opt_out. > > -- > Softaddicts<lprefonta...@softaddicts.ca> sent by ibisMail from my ipad! -- -- 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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.