packages feed

containers-benchmark-1.0: src/Main.hs

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