Skip to content

Commit 33533dc

Browse files
authored
Merge pull request typeable#8 from psibi/size-variant
Change Min, Max, Sort, Length benchmarks
2 parents 62da3ca + 6cb3c72 commit 33533dc

File tree

1 file changed

+33
-33
lines changed

1 file changed

+33
-33
lines changed

Time.hs

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ data Conser = forall f. NFData (f Int) => Conser String (Int -> f Int)
1919
data Append = forall f. NFData (f Int) => Append String (Int -> IO (f Int)) (f Int -> f Int -> f Int)
2020
data Replicator = forall f. NFData (f Int) => Replicator String (Int -> Int -> f Int)
2121
data Indexing = forall f. NFData (f Int) => Indexing String (IO (f Int)) (f Int -> Int -> Int)
22-
data Length = forall f. NFData (f Int) => Length String (IO (f Int)) (f Int -> Int)
23-
data Min = forall f. NFData (f Int) => Min String (IO (f Int)) (f Int -> Int)
24-
data Max = forall f. NFData (f Int) => Max String (IO (f Int)) (f Int -> Int)
25-
data Sort = forall f. NFData (f Int) => Sort String (IO (f Int)) (f Int -> f Int)
22+
data Length = forall f. NFData (f Int) => Length String (Int -> IO (f Int)) (f Int -> Int)
23+
data Min = forall f. NFData (f Int) => Min String (Int -> IO (f Int)) (f Int -> Int)
24+
data Max = forall f. NFData (f Int) => Max String (Int -> IO (f Int)) (f Int -> Int)
25+
data Sort = forall f. NFData (f Int) => Sort String (Int -> IO (f Int)) (f Int -> f Int)
2626
data RemoveElement = forall f. NFData (f Int) => RemoveElement String (IO (f Int)) ((Int -> Bool) -> f Int -> f Int)
2727
data RemoveByIndex = forall f. NFData (f Int) => RemoveByIndex String (IO (f Int)) ((Int -> Int -> Bool) -> f Int -> f Int)
2828

@@ -69,36 +69,32 @@ main = do
6969
])
7070
, bgroup
7171
"Length"
72-
(let size = 10005
73-
in lengths
74-
[ Length "Data.List" (sampleList size) (L.length)
75-
, Length "Data.Vector" (sampleVector size) (V.length)
76-
, Length "Data.Vector.Unboxed" (sampleUVVector size) (UV.length)
77-
, Length "Data.Sequence" (sampleSeq size) (S.length)
72+
(lengths
73+
[ Length "Data.List" sampleList (L.length)
74+
, Length "Data.Vector" sampleVector (V.length)
75+
, Length "Data.Vector.Unboxed" sampleUVVector (UV.length)
76+
, Length "Data.Sequence" sampleSeq (S.length)
7877
])
7978
, bgroup
8079
"Min"
81-
(let size = 10005
82-
in mins
83-
[ Min "Data.List" (sampleList size) (L.minimum)
84-
, Min "Data.Vector" (sampleVector size) (V.minimum)
85-
, Min "Data.Vector.Unboxed" (sampleUVVector size) (UV.minimum)
80+
(mins
81+
[ Min "Data.List" (sampleList) (L.minimum)
82+
, Min "Data.Vector" (sampleVector) (V.minimum)
83+
, Min "Data.Vector.Unboxed" (sampleUVVector) (UV.minimum)
8684
])
8785
, bgroup
8886
"Max"
89-
(let size = 10005
90-
in maxs
91-
[ Max "Data.List" (sampleList size) (L.maximum)
92-
, Max "Data.Vector" (sampleVector size) (V.maximum)
93-
, Max "Data.Vector.Unboxed" (sampleUVVector size) (UV.maximum)
87+
(maxs
88+
[ Max "Data.List" sampleList (L.maximum)
89+
, Max "Data.Vector" sampleVector (V.maximum)
90+
, Max "Data.Vector.Unboxed" sampleUVVector (UV.maximum)
9491
])
9592
, bgroup
9693
"Sort"
97-
(let size = 10005
98-
in sorts
99-
[ Sort "Data.List" (sampleList size) (L.sort)
100-
, Sort "Data.Sequence" (sampleSeq size) (S.sort)
101-
])
94+
(sorts
95+
[ Sort "Data.List" sampleList (L.sort)
96+
, Sort "Data.Sequence" sampleSeq (S.sort)
97+
])
10298
, bgroup
10399
"Remove Element"
104100
(let size = 10005
@@ -148,20 +144,24 @@ main = do
148144
, Indexing title payload func <- funcs
149145
]
150146
lengths funcs =
151-
[ env payload (\p -> bench (title ++ ":10000") $ nf (\x -> func x) p)
152-
| Length title payload func <- funcs
147+
[ env (payload len) (\p -> bench (title ++ ":" ++ (show len)) $ nf (\x -> func x) p)
148+
| len <- [10, 100, 1000, 10000]
149+
, Length title payload func <- funcs
153150
]
154151
mins funcs =
155-
[ env payload (\p -> bench (title ++ ":10000") $ nf (\x -> func x) p)
156-
| Min title payload func <- funcs
152+
[ env (payload len) (\p -> bench (title ++ ":" ++ (show len)) $ nf (\x -> func x) p)
153+
| len <- [10, 100, 1000, 10000]
154+
, Min title payload func <- funcs
157155
]
158156
maxs funcs =
159-
[ env payload (\p -> bench (title ++ ":10000") $ nf (\x -> func x) p)
160-
| Max title payload func <- funcs
157+
[ env (payload len) (\p -> bench (title ++ ":" ++ (show len)) $ nf (\x -> func x) p)
158+
| len <- [10, 100, 1000, 10000]
159+
, Max title payload func <- funcs
161160
]
162161
sorts funcs =
163-
[ env payload (\p -> bench (title ++ ":10000") $ nf (\x -> func x) p)
164-
| Sort title payload func <- funcs
162+
[ env (payload len) (\p -> bench (title ++ ":" ++ (show len)) $ nf (\x -> func x) p)
163+
| len <- [10, 100, 1000, 10000]
164+
, Sort title payload func <- funcs
165165
]
166166
removeElems funcs =
167167
[ env

0 commit comments

Comments
 (0)