@@ -190,6 +190,18 @@ main = do
190 , bench "bl" $ nf (BL.map f . BL.map f) bla
190 , bench "bl" $ nf (BL.map f . BL.map f) bla
191 , bench "l" $ nf (L.map f . L.map f) la
191 , bench "l" $ nf (L.map f . L.map f) la
193+ bgroup "replicate" [
194+ bench "ts" $ nf (TS.replicate bsa_len) (TS.singleton c)
195+ , bench "tl" $ nf (TL.replicate (fromIntegral bsa_len)) (TL.singleton c)
196+ , bench "bs" $ nf (BS.replicate bsa_len) c
197+ , bench "bl" $ nf (BL.replicate (fromIntegral bsa_len)) c
198+ , bench "l" $ nf (L.replicate bsa_len) c
200+ bgroup "2replicate" [
201+ bench "ts" $ nf (TS.replicate (bsa_len `div` TS.length tsw)) tsw
202+ , bench "tl" $ nf (TL.replicate (fromIntegral bsa_len `div` TL.length tlw)) tlw
203+ , bench "l" $ nf (replicat (bsa_len `div` TS.length tsw)) lw
193 bgroup "reverse" [
205 bgroup "reverse" [
194 bench "ts" $ nf TS.reverse tsa
206 bench "ts" $ nf TS.reverse tsa
195 , bench "tl" $ nf TL.reverse tla
207 , bench "tl" $ nf TL.reverse tla
@@ -295,6 +307,18 @@ main = do
295 , bench "bs" $ nf (BS.length . BS.map f . BS.map f) bsa
307 , bench "bs" $ nf (BS.length . BS.map f . BS.map f) bsa
296 , bench "l" $ nf (L.length . L.map f . L.map f) la
308 , bench "l" $ nf (L.length . L.map f . L.map f) la
310+ bgroup "replicate" [
311+ bench "ts" $ nf (TS.length . TS.replicate bsa_len) (TS.singleton c)
312+ , bench "tl" $ nf (TL.length . TL.replicate (fromIntegral bsa_len)) (TL.singleton c)
313+ , bench "bs" $ nf (BS.length . BS.replicate bsa_len) c
314+ , bench "bl" $ nf (BL.length . BL.replicate (fromIntegral bsa_len)) c
315+ , bench "l" $ nf (L.length . L.replicate bsa_len) c
317+ bgroup "2replicate" [
318+ bench "ts" $ nf (TS.length . TS.replicate (bsa_len `div` TS.length tsw)) tsw
319+ , bench "tl" $ nf (TL.length . TL.replicate (fromIntegral bsa_len `div` TL.length tlw)) tlw
320+ , bench "l" $ nf (L.length . replicat (bsa_len `div` TS.length tsw)) lw
298 bgroup "take" [
322 bgroup "take" [
299 bench "ts" $ nf (TS.length . TS.take (tsa_len `div` 3)) tsa
323 bench "ts" $ nf (TS.length . TS.take (tsa_len `div` 3)) tsa
300 , bench "tl" $ nf (TL.length . TL.take (tla_len `div` 3)) tla
324 , bench "tl" $ nf (TL.length . TL.take (tla_len `div` 3)) tla
@@ -336,6 +360,7 @@ main = do
336 tlw = TL.fromChunks [tsw]
360 tlw = TL.fromChunks [tsw]
337 f (C# c#) = C# (chr# (ord# c# +# 1#))
361 f (C# c#) = C# (chr# (ord# c# +# 1#))
338 len l _ = l + (1::Int)
362 len l _ = l + (1::Int)
363+ replicat n = concat . L.replicate n
340chunksOf :: Int -> BS.ByteString -> [BS.ByteString]
365chunksOf :: Int -> BS.ByteString -> [BS.ByteString]
341chunksOf k = go
366chunksOf k = go