@@ -17,20 +17,32 @@ benchMap = do
1717
1818 log " "
1919
20+ log " keys"
21+ log " ------------"
22+ benchKeys
23+
24+ log " "
25+
26+ log " values"
27+ log " ------------"
28+ benchValues
29+
30+ log " "
31+
2032 log " fromFoldable"
2133 log " ------------"
2234 benchFromFoldable
2335
2436 where
2537
26- benchSize = do
27- let nats = L .range 0 999999
28- natPairs = (flip Tuple ) unit <$> nats
29- singletonMap = M .singleton 0 unit
30- smallMap = M .fromFoldable $ L .take 100 natPairs
31- midMap = M .fromFoldable $ L .take 10000 natPairs
32- bigMap = M .fromFoldable $ natPairs
38+ nats = L .range 0 999999
39+ natPairs = (flip Tuple ) unit <$> nats
40+ singletonMap = M .singleton 0 unit
41+ smallMap = M .fromFoldable $ L .take 100 natPairs
42+ midMap = M .fromFoldable $ L .take 10000 natPairs
43+ bigMap = M .fromFoldable $ natPairs
3344
45+ benchSize = do
3446 log " size: singleton map"
3547 bench \_ -> M .size singletonMap
3648
@@ -43,6 +55,32 @@ benchMap = do
4355 log $ " size: big map (" <> show (M .size bigMap) <> " )"
4456 benchWith 10 \_ -> M .size bigMap
4557
58+ benchKeys = do
59+ log " keys: singleton map"
60+ bench \_ -> M .keys singletonMap
61+
62+ log $ " keys: small map (" <> show (M .size smallMap) <> " )"
63+ bench \_ -> M .keys smallMap
64+
65+ log $ " keys: midsize map (" <> show (M .size midMap) <> " )"
66+ benchWith 100 \_ -> M .keys midMap
67+
68+ log $ " keys: big map (" <> show (M .size bigMap) <> " )"
69+ benchWith 10 \_ -> M .keys bigMap
70+
71+ benchValues = do
72+ log " values: singleton map"
73+ bench \_ -> M .values singletonMap
74+
75+ log $ " values: small map (" <> show (M .size smallMap) <> " )"
76+ bench \_ -> M .values smallMap
77+
78+ log $ " values: midsize map (" <> show (M .size midMap) <> " )"
79+ benchWith 100 \_ -> M .values midMap
80+
81+ log $ " values: big map (" <> show (M .size bigMap) <> " )"
82+ benchWith 10 \_ -> M .values bigMap
83+
4684 benchFromFoldable = do
4785 let natStrs = show <$> L .range 0 99999
4886 natPairs = (flip Tuple ) unit <$> natStrs
0 commit comments