git.iko.soy/typeable/attoparsec
on master help sign in
Add Text genome search benchmarks
commit85bc992fc7dc158d89966a07bdbbe677e93d677d authorBryan O'Sullivan <bos@serpentine.com> dateFri 27 Mar 2015, 14:09 (12 years ago) parent2f7febc
1 file changed+35−12
benchmarks/Genome.hs+35−12
benchmarks/Genome.hs+35−12
@@ -10,27 +10,50 @@ import Criterion.Main
1010import Data.ByteString (ByteString)
1111import qualified Data.ByteString.Char8 as B8
1212import qualified Data.ByteString.Lazy.Char8 as L8
13−import Data.Attoparsec.ByteString.Char8
14−import qualified Data.Attoparsec.ByteString.Lazy as L
15−import Common (rechunkBS)
13+import Data.Attoparsec.ByteString.Char8 as B
14+import qualified Data.Attoparsec.ByteString.Lazy as BL
15+import Data.Text (Text)
16+import qualified Data.Text as T
17+import qualified Data.Text.Lazy as TL
18+import Data.Attoparsec.Text as T
19+import qualified Data.Attoparsec.Text.Lazy as TL
20+import Common (rechunkBS, rechunkT)
1621
1722genome :: Benchmark
1823genome = bgroup "genome" [
19− bench "B" $ nf (map (parse searchBS)) (B8.tails geneB)
20− , bench "BL" $ nf (map (L.parse searchBS)) (L8.tails geneBL)
21− , bgroup "CI" [
22− bench "B" $ nf (map (parse searchBSCI)) (B8.tails geneB)
23− , bench "BL" $ nf (map (L.parse searchBSCI)) (L8.tails geneBL)
24− ]
24+ bgroup "bytestring" [
25+ bench "s" $ nf (map (B.parse searchBS)) (B8.tails geneB)
26+ , bench "l" $ nf (map (BL.parse searchBS)) (L8.tails geneBL)
27+ , bgroup "CI" [
28+ bench "s" $ nf (map (B.parse searchBSCI)) (B8.tails geneB)
29+ , bench "l" $ nf (map (BL.parse searchBSCI)) (L8.tails geneBL)
30+ ]
31+ ]
32+ , bgroup "text" [
33+ bench "s" $ nf (map (T.parse searchT)) (T.tails geneT)
34+ , bench "l" $ nf (map (TL.parse searchT)) (TL.tails geneTL)
35+ , bgroup "CI" [
36+ bench "s" $ nf (map (T.parse searchTCI)) (T.tails geneT)
37+ , bench "l" $ nf (map (TL.parse searchTCI)) (TL.tails geneTL)
38+ ]
39+ ]
2540 ]
2641 where geneB = B8.pack gene
2742 geneBL = rechunkBS 4 geneB
43+ geneT = T.pack gene
44+ geneTL = rechunkT 4 geneT
2845
29−searchBS :: Parser ByteString
46+searchBS :: B.Parser ByteString
3047searchBS = "caac" *> ("aaca" <|> "aact")
3148
32−searchBSCI :: Parser ByteString
33−searchBSCI = stringCI "CAAC" *> (stringCI "AACA" <|> stringCI "AACT")
49+searchBSCI :: B.Parser ByteString
50+searchBSCI = B.stringCI "CAAC" *> (B.stringCI "AACA" <|> B.stringCI "AACT")
51+
52+searchT :: T.Parser Text
53+searchT = "caac" *> ("aaca" <|> "aact")
54+
55+searchTCI :: T.Parser Text
56+searchTCI = T.asciiCI "CAAC" *> (T.asciiCI "AACA" <|> T.asciiCI "AACT")
3457
3558-- Dictyostelium discoideum developmental protein DG1094 (gacT) gene,
3659-- partial cds. http://www.ncbi.nlm.nih.gov/nuccore/AF081586.1