Lee Spector <[email protected]> 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 [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