on master help sign in
Add Daniel's replace benchmark

--HG-- extra : convert_revision : fc7c0924637fe3b5b3e3aec743fa1f7a8bda57f0

commit64c35c5f0447ed51a9ba9c772776e7684f7cd4c4 authorBryan O'Sullivan <bos@serpentine.com> dateWed 8 Sep 2010, 04:17 (16 years ago) parentcfe95e8
2 files changed+22−1
tests/benchmarks/Makefile+1−1 tests/benchmarks/Replace.hs+21
tests/benchmarks/Makefile+1−1
@@ -4,7 +4,7 @@ CPPFLAGS := $(shell icu-config --cppflags)
44LDFLAGS := $(CFLAGS) $(shell icu-config --ldflags --ldflags-icuio)
55ghc := ghc
66
7−all := FileRead FileRead_prof fileread_c
7+all := FileRead FileRead_prof Replace Replace_prof fileread_c
88
99all: $(all)
1010
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