Browse Source

Merge branch 'master' of https://github.com/gregwebs/FrameworkBenchmarks into gregwebs-master

Patrick Falls 12 years ago
parent
commit
fde8e10722

+ 0 - 56
yesod/bench/Application.hs

@@ -1,56 +0,0 @@
-{-# LANGUAGE BangPatterns #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-module Application
-    ( makeApplication
-    , makeFoundation
-    ) where
-
-import Import
-import Control.Monad
-import Control.DeepSeq (force)
-import System.Random
-
-import qualified Database.Persist.Store
-import Database.Persist.Store (PersistValue (..))
-import Network.HTTP.Conduit (newManager, def)
-import Yesod.Default.Config
-
-
-import Settings
-
-getJsonR :: Handler RepJson
-getJsonR = jsonToRepJson $ object [("message", "Hello, World!" :: Text)]
-
-getDBR :: Handler RepJson
-getDBR = do
-    !i <- liftIO $ randomRIO (1, 10000)
-    Just o <- runDB $ get $ Key $ PersistInt64 i
-    jsonToRepJson $ object ["id" .= i, "randomNumber" .= worldRandomNumber o]
-
-getDB2R :: Int -> Handler RepJson
-getDB2R n = do
-    !is <- force . take n . randomRs (1, 10000) <$> liftIO newStdGen
-
-    ns <- runDB $
-        forM is $ \i -> do
-            Just o <- get $ Key $ PersistInt64 i
-            return (i, worldRandomNumber o)
-
-    jsonToRepJson $ array
-        [ object ["id" .= i, "randomNumber" .= rn] | (i, rn) <- ns ]
-
-mkYesodDispatch "App" resourcesApp
-
-makeApplication :: AppConfig DefaultEnv Extra -> IO Application
-makeApplication conf = makeFoundation conf >>= toWaiAppPlain
-
-makeFoundation :: AppConfig DefaultEnv Extra -> IO App
-makeFoundation conf = do
-    manager <- newManager def
-    dbconf <- withYamlEnvironment "config/mysql.yml" (appEnv conf)
-              Database.Persist.Store.loadConfig >>=
-              Database.Persist.Store.applyEnv
-    p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)
-    let foundation = App conf p manager dbconf
-
-    return foundation

+ 0 - 39
yesod/bench/Foundation.hs

@@ -1,39 +0,0 @@
-module Foundation where
-
-import Prelude
-import Yesod
-import Yesod.Default.Config
-import Network.HTTP.Conduit (Manager)
-import qualified Settings
-import qualified Database.Persist.Store
-import Database.Persist.GenericSql
-import Settings (Extra (..))
-
-data App = App
-    { settings :: AppConfig DefaultEnv Extra
-    , connPool :: Database.Persist.Store.PersistConfigPool Settings.PersistConfig -- ^ Database connection pool.
-    , httpManager :: Manager
-    , persistConfig :: Settings.PersistConfig
-    }
-
-mkYesodData "App" $(parseRoutesFile "config/routes")
-
-type Form x = Html -> MForm App App (FormResult x, Widget)
-
-instance Yesod App where
-    approot = ApprootMaster $ appRoot . settings
-    logLevel _ = LevelError
-    makeSessionBackend _ = return Nothing
-    shouldLog _ _ _ = False
-
-instance YesodPersist App where
-    type YesodPersistBackend App = SqlPersist
-    runDB f = do
-        master <- getYesod
-        Database.Persist.Store.runPool
-            (persistConfig master)
-            f
-            (connPool master)
-
-getExtra :: Handler Extra
-getExtra = fmap (appExtra . settings) getYesod

+ 0 - 27
yesod/bench/Import.hs

@@ -1,27 +0,0 @@
-module Import
-    ( module Import
-    ) where
-
-import           Prelude              as Import hiding (head, init, last,
-                                                 readFile, tail, writeFile)
-import           Yesod                as Import hiding (Route (..))
-
-import           Control.Applicative  as Import (pure, (<$>), (<*>))
-import           Data.Text            as Import (Text)
-
-import           Foundation           as Import
-import           Model                as Import
-import           Settings             as Import
-
-#if __GLASGOW_HASKELL__ >= 704
-import           Data.Monoid          as Import
-                                                 (Monoid (mappend, mempty, mconcat),
-                                                 (<>))
-#else
-import           Data.Monoid          as Import
-                                                 (Monoid (mappend, mempty, mconcat))
-
-infixr 5 <>
-(<>) :: Monoid m => m -> m -> m
-(<>) = mappend
-#endif

+ 0 - 12
yesod/bench/Model.hs

@@ -1,12 +0,0 @@
-module Model where
-
-import Prelude
-import Yesod
-import Database.Persist.Quasi
-
--- You can define all of your database entities in the entities file.
--- You can find more information on persistent and how to declare entities
--- at:
--- http://www.yesodweb.com/book/persistent/
-share [mkPersist sqlOnlySettings, mkMigrate "migrateAll"]
-    $(persistFileWith lowerCaseSettings "config/models")

+ 0 - 16
yesod/bench/Settings.hs

@@ -1,16 +0,0 @@
-module Settings where
-
-import Prelude
-import Database.Persist.MySQL (MySQLConf)
-import Yesod.Default.Config
-import Yesod.Default.Util
-import Data.Yaml
-
-type PersistConfig = MySQLConf
-
-data Extra = Extra
-    { 
-    } deriving Show
-
-parseExtra :: DefaultEnv -> Object -> Parser Extra
-parseExtra _ o = return Extra

+ 0 - 8
yesod/bench/app/main.hs

@@ -1,8 +0,0 @@
-import Prelude              (IO)
-import Yesod.Default.Config (fromArgs)
-import Yesod.Default.Main   (defaultMain)
-import Settings             (parseExtra)
-import Application          (makeApplication)
-
-main :: IO ()
-main = defaultMain (fromArgs parseExtra) makeApplication

+ 0 - 2
yesod/bench/config/models

@@ -1,2 +0,0 @@
-World
-    randomNumber Int sql=randomNumber

+ 0 - 21
yesod/bench/config/mysql.yml

@@ -1,21 +0,0 @@
-Default: &defaults
-  user: benchmarkdbuser
-  password: benchmarkdbpass
-  host: 127.0.0.1
-  port: 3306
-  database: hello_world
-  poolsize: 10
-
-Development:
-  <<: *defaults
-
-Testing:
-  <<: *defaults
-
-Staging:
-  poolsize: 100
-  <<: *defaults
-
-Production:
-  poolsize: 100
-  <<: *defaults

+ 0 - 3
yesod/bench/config/routes

@@ -1,3 +0,0 @@
-/json           JsonR   GET
-/db             DBR     GET
-/db2/#Int       DB2R    GET

+ 0 - 18
yesod/bench/config/settings.yml

@@ -1,18 +0,0 @@
-Default: &defaults
-  host: "*4" # any IPv4 host
-  port: 3000
-  approot: "http://localhost:3000"
-  #analytics: UA-YOURCODE
-
-Development:
-  <<: *defaults
-
-Testing:
-  <<: *defaults
-
-Staging:
-  <<: *defaults
-
-Production:
-  #approot: "http://www.example.com"
-  <<: *defaults