[CLJ-1224] Records do not cache hash like normal maps Created: 24/Jun/13 Updated: 27/Jun/14
|Fix Version/s:||Release 1.7|
Records do not cache their hash codes like normal Clojure maps, which affects their performance. This problem has been fixed in CLJS, but still affects JVM CLJ.
Approach: Cache hash values in record definitions, similar to maps.
|Comment by Nicola Mometto [ 14/Feb/14 5:46 PM ]|
I want to point out that my patch breaks ABI compatibility.
|Comment by Stuart Halloway [ 27/Jun/14 11:09 AM ]|
The patch 0001-CLJ-1224-cache-hasheq-and-hashCode-for-records.patch is broken in at least two ways:
I found these problems via the following reasoning:
|Comment by Nicola Mometto [ 27/Jun/14 2:53 PM ]|
Patch 0001-cache-hasheq-and-hashCode-for-records.patch fixes both those issues, reintroducing the N+2 arity constructor
|Comment by Alex Miller [ 27/Jun/14 4:08 PM ]|
Questions addressed, back to Vetted.