Fork me on GitHub
#clojure-dev
<
2022-01-31
>
Ben Sless17:01:33

I took a crack at a full implementation of specialized equality for concrete map, seems like I got about 2x speedups This is less a bump and more a question if I should pursue this further, submit a patch, etc, including what kind of tests you'd like to see. https://ask.clojure.org/index.php/11124/persistent-collections-implement-equiv-more-efficiently?show=11523

👀 1
Alex Miller (Clojure team)17:01:06

thx, I've been working towards that ask question this morning, was going to turn it into a ticket

Ben Sless17:01:02

Would you like to split it into two tickets for vectors and maps?

Alex Miller (Clojure team)17:01:52

I'm not sure yet. it's unclear to me where exactly you are proposing to make this change?

Alex Miller (Clojure team)17:01:23

is this like for APersistentMap.equiv() and APersistentVector.doEquiv() ?

Alex Miller (Clojure team)17:01:58

if you were to characterize the set of cases where things can be most improved, what is that set? I'm trying to figure out how more narrowly state the title of the ask question

Ben Sless17:01:19

One of the most painful use cases is using collections as keys, since after the hash lookup there's a call to equiv. Think about keys created with juxt, and all the relation functions in core.set