module Main where
import System.Environment (getArgs, withArgs)
import qualified Variants.IntMap_Int as IM_I
import qualified Variants.IntSet_Int as IS_I
import qualified Variants.Map_ByteString as M_BS
import qualified Variants.Map_IntegerBig as M_IB
import qualified Variants.Map_IntegerSmall as M_IS
import qualified Variants.Map_Int as M_I
import qualified Variants.Map_String as M_S
import qualified Variants.Set_ByteString as S_BS
import qualified Variants.Set_IntegerBig as S_IB
import qualified Variants.Set_IntegerSmall as S_IS
import qualified Variants.Set_Int as S_I
import qualified Variants.Set_String as S_S
main = do
variant : args <- getArgs
withArgs args $
case variant of
"IntMap_Int" -> IM_I.benchmark
"IntSet_Int" -> IS_I.benchmark
"Map_ByteString" -> M_BS.benchmark
"Map_IntegerBig" -> M_IB.benchmark
"Map_IntegerSmall" -> M_IS.benchmark
"Map_Int" -> M_I.benchmark
"Map_String" -> M_S.benchmark
"Set_ByteString" -> S_BS.benchmark
"Set_IntegerBig" -> S_IB.benchmark
"Set_IntegerSmall" -> S_IS.benchmark
"Set_Int" -> S_I.benchmark
"Set_String" -> S_S.benchmark