On May 9, 12:09 am, David Nolen <[email protected]> wrote: > On Sun, May 8, 2011 at 4:43 PM, Dmitry Kakurin > <[email protected]>wrote: > > > Very well, something along these lines would be my guess too. > > But that would mean that in case 2 protocols are no faster > > than multimethods.
They are much faster than multimethods because you know up front that dispatch is on the type of the first argument. > > Not true. > > > And I've got an impression that protocols are described to be as fast as > > interface dispatch (callvirt). Almost as fast in case one. There is an indirection because of dispatch. > > So either my impression is wrong (which is totally possible) or there is > > some clever trick available on JVM to do case 2 below faster. > > That's why I'm asking. > And yes, there is a difference in performance if you extend after you define your type. To get accurate we need Rich, here. > They are not as fast, but they are quite fast. Look at the implementation. > > David -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en
