2018-09-13 10:55:27 +00:00
|
|
|
import Protolude
|
2018-09-02 11:02:08 +00:00
|
|
|
|
2018-09-13 10:55:27 +00:00
|
|
|
import Criterion
|
|
|
|
import Criterion.Main
|
|
|
|
import qualified Data.Vector as V
|
2018-09-02 11:02:08 +00:00
|
|
|
|
2018-09-13 10:55:27 +00:00
|
|
|
import qualified HFIG.Dictionary as Dict
|
|
|
|
import qualified HFIG.Lovecraftian as Lov
|
|
|
|
import qualified HFIG.Short as Short
|
2018-09-02 11:02:08 +00:00
|
|
|
|
|
|
|
main :: IO ()
|
2018-09-13 10:55:27 +00:00
|
|
|
main = do
|
|
|
|
englishDict <- Dict.dictionaryFromFile "dictionaries/english.txt"
|
|
|
|
putText $ "loaded english Dict: " <> (show (V.length englishDict) :: Text)
|
|
|
|
genericDict <- Dict.dictionaryFromFile "dictionaries/generic.txt"
|
|
|
|
putText $ "loaded generic Dict: " <> (show (V.length genericDict) :: Text)
|
|
|
|
defaultMain [ bench "short idgen (10)" (nfIO (Short.idgen 10))
|
|
|
|
, bench "short idgen (100)" (nfIO (Short.idgen 100))
|
|
|
|
, bench "lovecraftian idgen (1)" (nfIO (Lov.idgen 1))
|
|
|
|
, bench "lovecraftian idgen (10)" (nfIO (Lov.idgen 10))
|
|
|
|
, bench "dictionary idgen (english 3)"
|
|
|
|
(nfIO (Dict.idgen englishDict 3))
|
|
|
|
, bench "dictionary idgen (generic 3)"
|
|
|
|
(nfIO (Dict.idgen genericDict 3))
|
|
|
|
]
|