@@ -43,41 +43,52 @@ main =
4343 -- , benchIO "fromFoldableM" D.sourceFromFoldableM
4444 ]
4545 , bgroup "elimination"
46− [ benchIO "toNull" D.toNull D.sourceUnfoldrM
47− , benchIO "uncons" D.uncons D.sourceUnfoldrM
48− , benchFold "tail" D.tail D.sourceUnfoldrM
46+ [ benchIO "toNull" D.toNull D.sourceUnfoldrM
47+ , benchIO "uncons" D.uncons D.sourceUnfoldrM
48+ , benchFold "tail" D.tail D.sourceUnfoldrM
4949 , benchIO "nullTail" D.nullTail D.sourceUnfoldrM
5050 , benchIO "headTail" D.headTail D.sourceUnfoldrM
5151 ]
5252 , bgroup "transformation"
53− [ benchIO "scanlM'" D.scan D.sourceUnfoldrM
54− , benchIO "map" D.map D.sourceUnfoldrM
55− , benchIO "mapM" D.mapM D.sourceUnfoldrM
53+ [ benchIO "scan" (D.scan 1) D.sourceUnfoldrM
54+ , benchIO "map" (D.map 1) D.sourceUnfoldrM
55+ , benchIO "mapM" (D.mapM 1) D.sourceUnfoldrM
56+ ]
57+ , bgroup "transformationN"
58+ [ benchIO "scan" (D.scan 4) D.sourceUnfoldrM
59+ , benchIO "map" (D.map 4) D.sourceUnfoldrM
60+ , benchIO "mapM" (D.mapM 4) D.sourceUnfoldrM
5661 ]
5762 , bgroup "filtering"
58− [ benchIO "filter-even" D.filterEven D.sourceUnfoldrM
59− , benchIO "filter-all-out" D.filterAllOut D.sourceUnfoldrM
60− , benchIO "filter-all-in" D.filterAllIn D.sourceUnfoldrM
61− , benchIO "take-all" D.takeAll D.sourceUnfoldrM
62− , benchIO "takeWhile-true" D.takeWhileTrue D.sourceUnfoldrM
63− , benchIO "drop-all" D.dropAll D.sourceUnfoldrM
64− , benchIO "dropWhile-true" D.dropWhileTrue D.sourceUnfoldrM
63+ [ benchIO "filter-even" (D.filterEven 1) D.sourceUnfoldrM
64+ , benchIO "filter-all-out" (D.filterAllOut 1) D.sourceUnfoldrM
65+ , benchIO "filter-all-in" (D.filterAllIn 1) D.sourceUnfoldrM
66+ , benchIO "take-all" (D.takeAll 1) D.sourceUnfoldrM
67+ , benchIO "takeWhile-true" (D.takeWhileTrue 1) D.sourceUnfoldrM
68+ , benchIO "drop-all" (D.dropAll 1) D.sourceUnfoldrM
69+ , benchIO "dropWhile-true" (D.dropWhileTrue 1) D.sourceUnfoldrM
6570 ]
66− , benchIO "zip" D.zip D.sourceUnfoldrM
67− , bgroup "compose"
68− [ benchIO "mapM" D.composeMapM D.sourceUnfoldrM
69−#if __GLASGOW_HASKELL__ != 802
70− , benchIO "map-with-all-in-filter" D.composeMapAllInFilter D.sourceUnfoldrM
71− , benchIO "all-in-filters" D.composeAllInFilters D.sourceUnfoldrM
72− , benchIO "all-out-filters" D.composeAllOutFilters D.sourceUnfoldrM
73−#endif
71+ , bgroup "filteringN"
72+ [ benchIO "filter-even" (D.filterEven 4) D.sourceUnfoldrM
73+ , benchIO "filter-all-out" (D.filterAllOut 4) D.sourceUnfoldrM
74+ , benchIO "filter-all-in" (D.filterAllIn 4) D.sourceUnfoldrM
75+ , benchIO "take-all" (D.takeAll 4) D.sourceUnfoldrM
76+ , benchIO "takeWhile-true" (D.takeWhileTrue 4) D.sourceUnfoldrM
77+ , benchIO "drop-all" (D.dropAll 4) D.sourceUnfoldrM
78+ , benchIO "dropWhile-true" (D.dropWhileTrue 4) D.sourceUnfoldrM
7479 ]
75− -- Scaling with same operation in sequence
76− , bgroup "compose-scaling"
77− [ benchIO "1" (D.composeScaling 1) D.sourceUnfoldrM
78− , benchIO "2" (D.composeScaling 2) D.sourceUnfoldrM
79− , benchIO "3" (D.composeScaling 3) D.sourceUnfoldrM
80− , benchIO "4" (D.composeScaling 4) D.sourceUnfoldrM
80+ , benchIO "zip" D.zip D.sourceUnfoldrM
81+ , bgroup "composed"
82+ [ benchIO "scan-map" (D.scanMap 4) D.sourceUnfoldrM
83+ , benchIO "drop-map" (D.dropMap 4) D.sourceUnfoldrM
84+ , benchIO "drop-scan" (D.dropScan 4) D.sourceUnfoldrM
85+ , benchIO "take-drop" (D.takeDrop 4) D.sourceUnfoldrM
86+ , benchIO "take-scan" (D.takeScan 4) D.sourceUnfoldrM
87+ , benchIO "take-map" (D.takeMap 4) D.sourceUnfoldrM
88+ , benchIO "filter-drop" (D.filterDrop 4) D.sourceUnfoldrM
89+ , benchIO "filter-take" (D.filterTake 4) D.sourceUnfoldrM
90+ , benchIO "filter-scan" (D.filterScan 4) D.sourceUnfoldrM
91+ , benchIO "filter-map" (D.filterMap 4) D.sourceUnfoldrM
8192 ]
8293 ]
8394 , bgroup "streamK"
@@ -105,33 +116,47 @@ main =
105116 , benchFold "last" K.last K.sourceUnfoldrM
106117 ]
107118 , bgroup "transformation"
108− [ benchIO "scan" K.scan K.sourceUnfoldrM
109− , benchIO "map" K.map K.sourceUnfoldrM
110− , benchIO "mapM" K.mapM K.sourceUnfoldrM
119+ [ benchIO "scan" (K.scan 1) K.sourceUnfoldrM
120+ , benchIO "map" (K.map 1) K.sourceUnfoldrM
121+ , benchIO "mapM" (K.mapM 1) K.sourceUnfoldrM
122+ -- , benchIO "concat" K.concat K.sourceUnfoldrM
123+ ]
124+ , bgroup "transformationN"
125+ [ benchIO "scan" (K.scan 4) K.sourceUnfoldrM
126+ , benchIO "map" (K.map 4) K.sourceUnfoldrM
127+ , benchIO "mapM" (K.mapM 4) K.sourceUnfoldrM
111128 -- , benchIO "concat" K.concat K.sourceUnfoldrM
112129 ]
113130 , bgroup "filtering"
114− [ benchIO "filter-even" K.filterEven K.sourceUnfoldrM
115− , benchIO "filter-all-out" K.filterAllOut K.sourceUnfoldrM
116− , benchIO "filter-all-in" K.filterAllIn K.sourceUnfoldrM
117− , benchIO "take-all" K.takeAll K.sourceUnfoldrM
118− , benchIO "takeWhile-true" K.takeWhileTrue K.sourceUnfoldrM
119− , benchIO "drop-all" K.dropAll K.sourceUnfoldrM
120− , benchIO "dropWhile-true" K.dropWhileTrue K.sourceUnfoldrM
131+ [ benchIO "filter-even" (K.filterEven 1) K.sourceUnfoldrM
132+ , benchIO "filter-all-out" (K.filterAllOut 1) K.sourceUnfoldrM
133+ , benchIO "filter-all-in" (K.filterAllIn 1) K.sourceUnfoldrM
134+ , benchIO "take-all" (K.takeAll 1) K.sourceUnfoldrM
135+ , benchIO "takeWhile-true" (K.takeWhileTrue 1) K.sourceUnfoldrM
136+ , benchIO "drop-all" (K.dropAll 1) K.sourceUnfoldrM
137+ , benchIO "dropWhile-true" (K.dropWhileTrue 1) K.sourceUnfoldrM
121138 ]
122− , benchIO "zip" K.zip K.sourceUnfoldrM
123− , bgroup "compose"
124− [ benchIO "mapM" K.composeMapM K.sourceUnfoldrM
125− , benchIO "map-with-all-in-filter" K.composeMapAllInFilter K.sourceUnfoldrM
126− , benchIO "all-in-filters" K.composeAllInFilters K.sourceUnfoldrM
127− , benchIO "all-out-filters" K.composeAllOutFilters K.sourceUnfoldrM
139+ , bgroup "filteringN"
140+ [ benchIO "filter-even" (K.filterEven 4) K.sourceUnfoldrM
141+ , benchIO "filter-all-out" (K.filterAllOut 4) K.sourceUnfoldrM
142+ , benchIO "filter-all-in" (K.filterAllIn 4) K.sourceUnfoldrM
143+ , benchIO "take-all" (K.takeAll 4) K.sourceUnfoldrM
144+ , benchIO "takeWhile-true" (K.takeWhileTrue 4) K.sourceUnfoldrM
145+ , benchIO "drop-all" (K.dropAll 4) K.sourceUnfoldrM
146+ , benchIO "dropWhile-true" (K.dropWhileTrue 4) K.sourceUnfoldrM
128147 ]
129− -- Scaling with same operation in sequence
130− , bgroup "compose-scaling"
131− [ benchIO "1" (K.composeScaling 1) K.sourceUnfoldrM
132− , benchIO "2" (K.composeScaling 2) K.sourceUnfoldrM
133− , benchIO "3" (K.composeScaling 3) K.sourceUnfoldrM
134− , benchIO "4" (K.composeScaling 4) K.sourceUnfoldrM
148+ , benchIO "zip" K.zip K.sourceUnfoldrM
149+ , bgroup "composed"
150+ [ benchIO "scan-map" (K.scanMap 4) K.sourceUnfoldrM
151+ , benchIO "drop-map" (K.dropMap 4) K.sourceUnfoldrM
152+ , benchIO "drop-scan" (K.dropScan 4) K.sourceUnfoldrM
153+ , benchIO "take-drop" (K.takeDrop 4) K.sourceUnfoldrM
154+ , benchIO "take-scan" (K.takeScan 4) K.sourceUnfoldrM
155+ , benchIO "take-map" (K.takeMap 4) K.sourceUnfoldrM
156+ , benchIO "filter-drop" (K.filterDrop 4) K.sourceUnfoldrM
157+ , benchIO "filter-take" (K.filterTake 4) K.sourceUnfoldrM
158+ , benchIO "filter-scan" (K.filterScan 4) K.sourceUnfoldrM
159+ , benchIO "filter-map" (K.filterMap 4) K.sourceUnfoldrM
135160 ]
136161 ]
137162 ]