Skip to content

Commit 61a0b1f

Browse files
committed
- don't perform unnecessary work when diffing maps
(A ∩ B) ∪ (B - A) = B
1 parent 882738e commit 61a0b1f

File tree

1 file changed

+1
-11
lines changed

1 file changed

+1
-11
lines changed

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)