Lee Spector <lspec...@hampshire.edu> writes: > FWIW I used records for push-states at one point but did not observe a > speedup and it required much messier code, so I reverted to > struct-maps. But maybe I wasn't doing the right timings. I'm curious > about how you changed to records without the messiness. I'll include > below my sig the way that I had to do it... maybe you can show me what > you did instead.
I just double-checked, and I definitely see a >2x speedup on Josiah’s benchmark. That may still be synthetic, of course. Here’s what I did: (eval `(defrecord ~'PushState [~'trace ~@(map (comp symbol name) push-types)])) (let [empty-state (map->PushState {})] (defn make-push-state "Returns an empty push state." [] empty-state)) > Still, I guess the gorilla in the room, which is eating the multicore > performance, hasn't yet been found. No, not yet... I’ve become obsessed with figuring it out though, so still slogging at it. -Marshall -- 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