dissoc* performance

Hashmaps
Lists
Sequences
Vectors

Compared to version 4, dissoc* version 5 notably improved performance handling hashmaps. Handling other collection types remained constant.

See the overall summary for benchmarking details. The benchmarks displayed in this document are defined here.

Hashmaps

Version 5 improves performance on hashmaps by 40 to 60% compared to version 4.

(fn [n] (dissoc (map-of-n-key-vals n) (dec n)))

Benchmark measurements for expression `(fn [n] (dissoc (map-of-n-key-vals n) (dec n)))`, time versus 'n' arguments, comparing different versions.

(fn [n] (dissoc* (map-of-n-key-vals n) (dec n)))

Benchmark measurements for expression `(fn [n] (dissoc* (map-of-n-key-vals n) (dec n)))`, time versus 'n' arguments, comparing different versions.

Lists

Performance did not notably change from version 4 to version 5.

(fn [n] (dissoc* (list-of-n-rand-ints n) (dec n)))

Benchmark measurements for expression `(fn [n] (dissoc* (list-of-n-rand-ints n) (dec n)))`, time versus 'n' arguments, comparing different versions.

Sequences

Performance did not notably change from version 4 to version 5.

(fn [n] (dissoc* (seq-of-n-rand-ints n) (dec n)))

Benchmark measurements for expression `(fn [n] (dissoc* (seq-of-n-rand-ints n) (dec n)))`, time versus 'n' arguments, comparing different versions.

Vectors

Performance did not notably change from version 4 to version 5.

(fn [n] (dissoc* (vec-of-n-rand-ints n) (dec n)))

Benchmark measurements for expression `(fn [n] (dissoc* (vec-of-n-rand-ints n) (dec n)))`, time versus 'n' arguments, comparing different versions.