on master help sign in
Add Daniel's replace benchmark
64c35c5Bryan O'Sullivan
tests/benchmarks/Makefile+1−1
@@ -4,7 +4,7 @@ CPPFLAGS := $(shell icu-config --cppflags)
4LDFLAGS := $(CFLAGS) $(shell icu-config --ldflags --ldflags-icuio)
4LDFLAGS := $(CFLAGS) $(shell icu-config --ldflags --ldflags-icuio)
5ghc := ghc
5ghc := ghc
6
6
7−all := FileRead FileRead_prof fileread_c
7+all := FileRead FileRead_prof Replace Replace_prof fileread_c
8
8
9all: $(all)
9all: $(all)
10
10
tests/benchmarks/Replace.hsnew file+21
@@ -0,0 +1,21 @@
1+{-# LANGUAGE BangPatterns #-}
2+module Main (main) where
3+
4+import System.Environment (getArgs)
5+import qualified Data.Text.Lazy as LT
6+import qualified Data.Text.Lazy.IO as LT
7+import qualified Data.ByteString.Lazy.Search as LB
8+import qualified Data.ByteString.Lazy.Char8 as LB
9+import qualified Data.ByteString.Char8 as B
10+
11+lazyText file pat sub =
12+ LT.readFile file >>= LT.putStr . LT.replace (LT.pack pat) (LT.pack sub)
13+
14+lazyBS file pat sub =
15+ LB.readFile file >>= LB.putStr . LB.replace (B.pack pat) (LB.pack sub)
16+
17+main = do
18+ (kind : file : pat : sub : _) <- getArgs
19+ case kind of
20+ "lazyText" -> lazyText file pat sub
21+ "lazyBS" -> lazyBS file pat sub