packages feed

CurryDB-0.1.0.0: bench/bench.hs

main :: IO ()
main = return ()

{-
import Control.Applicative
import           Control.Monad
import           Control.Monad.Trans
import qualified Data.ByteString.Char8   as S
import           Prelude                 hiding (lookup)
import Data.Char
import System.Random.Mersenne.Pure64
import System.IO.Unsafe
import Data.IORef

ior :: IORef PureMT
ior = unsafePerformIO $ newIORef =<< newPureMT
{-# NOINLINE ior #-}

randomString :: Int -> PureMT -> (String, PureMT)
randomString n m = go 0 "" m where
  go i ss mt
    | i == n = (ss, mt)
    | otherwise =
      let (x, nt) = randomInt mt in
      go (i+1) (f x :ss) nt
  f x = chr (ord 'a' + x `mod` 26)

main :: IO ()
main = runDBMT $ do
  replicateM_ 1000000 $ do
    (key, val) <- liftIO $ do
      mt1 <- readIORef ior
      let (key, mt2) = randomString 8 mt1
      let (val, mt3) = randomString 8 mt2
      writeIORef ior mt3
      return (key, val)
    insert (S.pack key) (S.pack val)
-}