tries-0.0.3: bench/BenchLookup.hs
{-# LANGUAGE
FlexibleContexts
#-}
module Main where
import Build
import Data.Trie.Class as TC
import Criterion.Main
main = defaultMain
[ bgroup "lookup"
[ bgroup "ListTrie" $ benchOne genListTrie <$> [10,20..100]
, bgroup "MapTrie" $ benchOne genMapTrie <$> [10,20..100]
, bgroup "HashMapTrie" $ benchOne genHashMapTrie <$> [10,20..100]
, bgroup "KnuthTrie" $ benchOne genKnuthTrie <$> [10,20..100]
]
]
where
benchOne gen x = bench (show x) $ whnf (TC.lookup $ buildMiddleQuery x) (gen 100)