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.


Reply via email to