human-friendly-id-gen/src-benchmark/Main.hs

26 lines
1.1 KiB
Haskell
Raw Normal View History

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))
]