Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initially I tried using `entries` instead of a `values` iterator, but that was surprisingly slow. This appears to be a good middle ground (see history of this comment for old results). Hashing is about the same, but much faster for maps which don't have O(1) lookup. Equality is much faster. ## Benchmarks before: DeepCollectionQualityUnordered.equals(RunTime): 7427.29020979021 us. DeepCollectionQualityUnordered.hash(RunTime): 217.8173707406213 us. DeepCollectionQuality.equals(RunTime): 2653.23875 us. DeepCollectionQuality.hash(RunTime): 178.1674653887114 us. ## Benchmarks after: DeepCollectionQualityUnordered.equals(RunTime): 4435.374 us. DeepCollectionQualityUnordered.hash(RunTime): 212.8631545473818 us. DeepCollectionQuality.equals(RunTime): 1989.1746626686656 us. DeepCollectionQuality.hash(RunTime): 178.3396697902722 us.
- Loading branch information