Skip to content

Commit 61c1a76

Browse files
authored
Merge pull request #45 from latacora/perf-improvements
don't perform unnecessary work when diffing maps
2 parents 882738e + ed478cc commit 61c1a76

File tree

2 files changed

+3
-11
lines changed

2 files changed

+3
-11
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
## Fixed
88

9+
- Simplified internals when diffing maps for improved performance on many datasets.
10+
911
## Changed
1012

1113
# 2.8.190 (2023-03-30 / 34d5e17)

src/lambdaisland/deep_diff2/diff_impl.cljc

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -108,20 +108,10 @@
108108
(map ->Insertion)
109109
(remove #(contains? exp %) act)))
110110

111-
(let [exp {false 0, 0 0}
112-
act {false 0, 0 0}
113-
exp-ks (keys exp)
114-
act-ks (concat (filter #(contains? (set (keys act)) %) exp-ks)
115-
(remove #(contains? (set exp-ks) %) (keys act)))
116-
[del ins] (del+ins exp-ks act-ks)]
117-
[del ins])
118-
(del+ins [0 false] [0 false])
119-
120111
(defn diff-map [exp act]
121112
(first
122113
(let [exp-ks (keys exp)
123-
act-ks (concat (filter #(contains? (set (keys act)) %) exp-ks)
124-
(remove #(contains? (set exp-ks) %) (keys act)))
114+
act-ks (keys act)
125115
[del ins] (del+ins exp-ks act-ks)]
126116
(reduce
127117
(fn [[m idx] k]

0 commit comments

Comments
 (0)