@@ -71,7 +71,7 @@ import Effect.Exception (throw)
7171import Effect.Unsafe (unsafePerformEffect )
7272import Parsing (Parser , runParser )
7373import Parsing.Combinators (chainl , chainlRec , chainr , chainrRec , manyTill , manyTillRec , manyTillRec_ , manyTill_ , sepBy , sepByRec )
74- import Parsing.String (anyChar , char , string )
74+ import Parsing.String (anyChar , char , eof , string )
7575import Parsing.String.Basic (digit )
7676import Performance.Minibench (benchWith )
7777import StringParser as StringParser
@@ -84,15 +84,9 @@ string23 = "23"
8484string23_10000 :: String
8585string23_10000 = fold $ replicate 5000 string23
8686
87- string23_10000x :: String
88- string23_10000x = string23_10000 <> " x"
89-
9087string23_1000 :: String
9188string23_1000 = fold $ replicate 500 string23
9289
93- string23_1000x :: String
94- string23_1000x = string23_1000 <> " x"
95-
9690stringSkidoo :: String
9791stringSkidoo = " skidoooooo"
9892
@@ -192,15 +186,15 @@ main = do
192186
193187 log " <th><h2>sepBy 1000</h2></th>"
194188 htmlTableWrap " runParser sepBy 1000" $ benchWith 200
195- $ \_ -> throwLeft $ runParser string23_1000 $ sepBy anyChar (char ' 2 ' )
189+ $ \_ -> throwLeft $ runParser string23_1000 $ sepBy anyChar (pure unit )
196190 htmlTableWrap " runParser sepByRec 1000" $ benchWith 200
197- $ \_ -> throwLeft $ runParser string23_1000 $ sepByRec anyChar (char ' 2 ' )
191+ $ \_ -> throwLeft $ runParser string23_1000 $ sepByRec anyChar (pure unit )
198192
199193 log " <th><h2>sepBy 10000</h2></th>"
200194 htmlTableWrap " runParser sepBy 10000" $ benchWith 50
201- $ \_ -> throwLeft $ runParser string23_10000 $ sepBy anyChar (char ' 2 ' )
195+ $ \_ -> throwLeft $ runParser string23_10000 $ sepBy anyChar (pure unit )
202196 htmlTableWrap " runParser sepByRec 10000" $ benchWith 50
203- $ \_ -> throwLeft $ runParser string23_10000 $ sepByRec anyChar (char ' 2 ' )
197+ $ \_ -> throwLeft $ runParser string23_10000 $ sepByRec anyChar (pure unit )
204198
205199 log " <th><h2>chainl 10000</h2></th>"
206200 htmlTableWrap " runParser chainl 10000" $ benchWith 50
@@ -222,23 +216,23 @@ main = do
222216
223217 log " <th><h2>manyTill 1000</h2></th>"
224218 htmlTableWrap " runParser manyTill 1000" $ benchWith 200
225- $ \_ -> throwLeft $ runParser string23_1000x $ manyTill anyChar (char ' x ' )
219+ $ \_ -> throwLeft $ runParser string23_1000 $ manyTill anyChar eof
226220 htmlTableWrap " runParser manyTillRec 1000" $ benchWith 200
227- $ \_ -> throwLeft $ runParser string23_1000x $ manyTillRec anyChar (char ' x ' )
221+ $ \_ -> throwLeft $ runParser string23_1000 $ manyTillRec anyChar eof
228222 htmlTableWrap " runParser manyTill_ 1000" $ benchWith 200
229- $ \_ -> throwLeft $ runParser string23_1000x $ manyTill_ anyChar (char ' x ' )
223+ $ \_ -> throwLeft $ runParser string23_1000 $ manyTill_ anyChar eof
230224 htmlTableWrap " runParser manyTillRec_ 1000" $ benchWith 200
231- $ \_ -> throwLeft $ runParser string23_1000x $ manyTillRec_ anyChar (char ' x ' )
225+ $ \_ -> throwLeft $ runParser string23_1000 $ manyTillRec_ anyChar eof
232226
233227 log " <th><h2>manyTill 10000</h2></th>"
234228 htmlTableWrap " runParser manyTill 10000" $ benchWith 50
235- $ \_ -> throwLeft $ runParser string23_10000x $ manyTill anyChar (char ' x ' )
229+ $ \_ -> throwLeft $ runParser string23_10000 $ manyTill anyChar eof
236230 htmlTableWrap " runParser manyTillRec 10000" $ benchWith 50
237- $ \_ -> throwLeft $ runParser string23_10000x $ manyTillRec anyChar (char ' x ' )
231+ $ \_ -> throwLeft $ runParser string23_10000 $ manyTillRec anyChar eof
238232 htmlTableWrap " runParser manyTill_ 10000" $ benchWith 50
239- $ \_ -> throwLeft $ runParser string23_10000x $ manyTill_ anyChar (char ' x ' )
233+ $ \_ -> throwLeft $ runParser string23_10000 $ manyTill_ anyChar eof
240234 htmlTableWrap " runParser manyTillRec_ 10000" $ benchWith 50
241- $ \_ -> throwLeft $ runParser string23_10000x $ manyTillRec_ anyChar (char ' x ' )
235+ $ \_ -> throwLeft $ runParser string23_10000 $ manyTillRec_ anyChar eof
242236
243237 log " <th><h2>mediumJson</h2></th>"
244238 htmlTableWrap " runParser json mediumJson" $ benchWith 200
0 commit comments