@@ -48,6 +48,10 @@ benchMap = do
48
48
log " ---------------"
49
49
benchKeys
50
50
51
+ log " difference"
52
+ log " ---------------"
53
+ benchDifference
54
+
51
55
where
52
56
53
57
benchUnion = do
@@ -61,7 +65,7 @@ benchMap = do
61
65
bigMap2' = M .fromFoldable $ natPairs2
62
66
size = Map2a0bff .size bigMap
63
67
size' = M .size bigMap'
64
-
68
+
65
69
log $ " Map2a0bff.union: big map (" <> show size <> " )"
66
70
benchWith 10 \_ -> Map2a0bff .union bigMap bigMap2
67
71
@@ -170,3 +174,32 @@ benchMap = do
170
174
171
175
log $ " fromFoldable (" <> show (L .length natPairs) <> " )"
172
176
benchWith 10 \_ -> M .fromFoldable natPairs
177
+
178
+ benchDifference = do
179
+ let nats = L .range 0 999999
180
+ natPairs = (flip Tuple ) unit <$> nats
181
+ singletonMap = M .singleton 0 unit
182
+ smallMap = Map2a0bff .fromFoldable $ L .take 100 natPairs
183
+ smallMap' = M .fromFoldable $ L .take 100 natPairs
184
+ midMap = Map2a0bff .fromFoldable $ L .take 10000 natPairs
185
+ midMap' = M .fromFoldable $ L .take 10000 natPairs
186
+ bigMap = Map2a0bff .fromFoldable $ natPairs
187
+ bigMap' = M .fromFoldable $ natPairs
188
+
189
+ log $ " Map2a0bff.difference: small map (" <> show (Map2a0bff .size smallMap) <> " )"
190
+ bench \_ -> Map2a0bff .difference smallMap midMap
191
+
192
+ log $ " M.difference: small map (" <> show (M .size smallMap') <> " )"
193
+ bench \_ -> M .difference smallMap' midMap'
194
+
195
+ log $ " Map2a0bff.difference: midsize map (" <> show (Map2a0bff .size midMap) <> " )"
196
+ benchWith 100 \_ -> Map2a0bff .difference midMap midMap
197
+
198
+ log $ " M.difference: midsize map (" <> show (M .size midMap') <> " )"
199
+ benchWith 100 \_ -> M .difference midMap' midMap'
200
+
201
+ log $ " Map2a0bff.difference: big map (" <> show (Map2a0bff .size bigMap) <> " )"
202
+ benchWith 10 \_ -> Map2a0bff .difference bigMap midMap
203
+
204
+ log $ " M.difference: big map (" <> show (M .size bigMap') <> " )"
205
+ benchWith 10 \_ -> M .difference bigMap' midMap'
0 commit comments