on master help sign in
Benchmark intercalate.
2ebdd17Bryan O'Sullivan
tests/Benchmarks.hs+11−4
@@ -81,10 +81,15 @@ main = do
81 , bench "b8" $ nf (L.length . B8.foldr (:) []) s0
81 , bench "b8" $ nf (L.length . B8.foldr (:) []) s0
82 , bench "list" $ nf (L.length . L.foldr (:) []) l0
82 , bench "list" $ nf (L.length . L.foldr (:) []) l0
83 ],
83 ],
84+ bgroup "intercalate" [
85+ bench "text" $ nf (T.intercalate tw) tl
86+ , bench "b8" $ nf (B8.intercalate sw) sl
87+ , bench "list" $ nf (L.intercalate lw) ll
88+ ],
84 bgroup "isInfixOf" [
89 bgroup "isInfixOf" [
85− bench "text" $ nf (T.isInfixOf (T.pack w)) t0
90+ bench "text" $ nf (T.isInfixOf tw) t0
86− , bench "b8" $ nf (B8.isInfixOf (B8.pack w)) s0
91+ , bench "b8" $ nf (B8.isInfixOf sw) s0
87− , bench "list" $ nf (L.isInfixOf w) l0
92+ , bench "list" $ nf (L.isInfixOf lw) l0
88 ],
93 ],
89 bgroup "last" [
94 bgroup "last" [
90 bench "text" $ nf T.last t0
95 bench "text" $ nf T.last t0
@@ -172,6 +177,8 @@ main = do
172 where
177 where
173 p0 = (== 'й')
178 p0 = (== 'й')
174 p1 = (/= 'д')
179 p1 = (/= 'д')
175− w = "право"
180+ lw = "право"
181+ sw = UTF8.fromString lw
182+ tw = T.pack lw
176 f (C# c#) = C# (chr# (ord# c# +# 1#))
183 f (C# c#) = C# (chr# (ord# c# +# 1#))
177 len l _ = l + (1::Int)
184 len l _ = l + (1::Int)