Quiero probar el rendimiento (solicitud por segundo) del servidor http de haskell warp. No sé nada sobre Haskell. Quiero hacer lo mismo que en el código de Erlang a continuación:Haskell Warp Performance vs Erlang Misultin testing (cómo cargar el contenido de un archivo una vez y servir en respuesta)
- carga "page.txt" sólo una vez desde el disco (archivo ASCII 100 kB)
- sirven contenido de ese archivo en cada petición, pero sin volver a cargar desde el disco
¿Cómo hacer esto en haskell?
Erlang:
-module(test).
-export([start/0]).
start() ->
{ok, Bin} = file:read_file("page.txt"),
misultin:start_link([{port, 3000}, {loop, fun(Req) -> Req:ok(Bin) end}]).
me encontré con este ejemplo Haskell y necesito modificado para utilizar los contenidos cargados desde un archivo.
Haskell:
{-# LANGUAGE OverloadedStrings #-}
import Network.Wai
import Network.Wai.Handler.Warp
import Blaze.ByteString.Builder (fromByteString)
import Network.HTTP.Types (status200)
main = run 3000 $ const $ return $ ResponseBuilder
status200
[("Content-Type", "text/plain"), ("Content-Length", "4")]
$ fromByteString "TEST"
por favor ayuda! :)
Cuando tenga algunos resultados de prueba comparativa, publíquelos en alguna parte. – augustss