Welcome! Please see the About page for a little more info on how this works.

0 votes
in ClojureScript by

We should be optimizing all protocols insteads of just putting the core protocols on the fast path. In the current design we put the protocol mask on instance - this wastes a considerable amount of space, instead we should be putting it on the prototype. This benchmark appears to show no performance hit for this approach jsperf.com/prototype-bit-mask.

In order to have fewer tests satisfies? and protocol fns should generate different code for the different compilation modes - in anything but advanced we should just use the boolean property on the prototype, in advanced we should use the bit mask approach.

1 Answer

0 votes
Reference: https://clojure.atlassian.net/browse/CLJS-650 (reported by dnolen)
Welcome to Clojure Q&A, where you can ask questions and receive answers from members of the Clojure community.