|
Higher-Order » Blog Archive » Understanding Clojure’s Pe... PersistentHashMap is a persistent version of the classical hash table data structure. Persistent means that the data structure is immutable, yet has efficient non-destructive operations that correspond to the operations on the classical hash table. E.g., put(K,V) in hash table corresponds to a side-effect free function assoc(P, K, V) which computes from P a new PersistentHashMap P’ which is like P except that it maps key K to value V. The word “efficient” means “on par” with their mutating counterparts. For Clojure data structures, Rich tries to make them within 1-4 of the Java data structure operations; and read-only operations can even be faster than Java’s. Later I will cover ‘transients’ which are a new optimization that make “batch” operations faster. http://blog.higher-order.net/2009/09/08/understanding-clojur... tags: hash clojure
khash, kbtree
pHash.org: Home of pHash, the open source perceptual hash li...
murmurhash - MurmurHash 2.0
Pluto Scarab — Hash Functions
|