Tôi muốn kiểm tra hiệu suất (yêu cầu mỗi giây) của máy chủ http có lỗi dọc. Tôi không biết gì về haskell. Tôi muốn làm tương tự như trong mã erlang dưới đây:Hiệu suất Warp Haskell và thử nghiệm Erlang Misultin (cách tải nội dung của một tệp một lần và phân phối phản hồi)
- tải "page.txt" chỉ một lần từ đĩa (ascii tập tin 100kB)
- phục vụ nội dung của tập tin đó trên mọi yêu cầu nhưng không có tải lại nó từ đĩa
Cách thực hiện việc này trong 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}]).
Tôi đã xem qua ví dụ Haskell này và tôi cần phải sửa đổi nó để sử dụng nội dung được tải từ một tập tin.
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"
Xin giúp! :)
Khi bạn có một số kết quả điểm chuẩn, vui lòng xuất bản chúng ở đâu đó. – augustss