Commit e1b0cfad authored by Sebastian Graf's avatar Sebastian Graf

Stabilise gen_regexp again

While investigating a 5% runtime regression, I realised that
`gen_regexp` wasn't sufficiently stable wrt. GC parameterisations.

This is now rectified by iterating 500 instead of 100 times.
parent 8632268a
......@@ -9,12 +9,13 @@
module Main (main) where
import Data.Char
import Control.Monad (forM_)
import Control.Monad (replicateM_)
import System.Environment
import NofibUtils (hash)
main = forM_ [1..100] $ const $ do
main = replicateM_ 500 $ do
(regex:_) <- getArgs
print (numchars (expand regex))
print (hash (concat (expand regex)))
numchars :: [String] -> Int
numchars l = sum $ map length l
......
......@@ -2,6 +2,6 @@ TOP = ../..
include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/target.mk
FAST_OPTS = [a-j][a-j][a-j][0-9][p-z]
NORM_OPTS = [a-j][a-j][a-j][a-j][a-j][1-2]abcdefghijklmnopqrstuvwxy
SLOW_OPTS = [a-j][a-j][a-j][a-j][a-j][1-5]abcdefghijklmnopqrstuvwxy
FAST_OPTS = [a-j][a-j][a-j][0-9]
NORM_OPTS = [a-l][a-l][a-l][a-l][1-1]abcdefghijklmnopqrstuvwxy
SLOW_OPTS = [a-l][a-l][a-l][a-l][1-5]abcdefghijklmnopqrstuvwxy
../../common/NofibUtils.hs
\ No newline at end of file
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
550000
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
-4675665393446052368
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000
15500000