gpt4 book ai didi

haskell - 有没有更好的性能替代方案可以在 Haskell 中阅读和展示?

转载 作者:行者123 更新时间:2023-12-02 09:47:53 25 4
gpt4 key购买 nike

我正在编写一个网络原型(prototype),其中服务器世界的状态传输到其所有客户端。我使用以下工作流程来执行此操作:

Server --> World --> show --> ByteString --> GZip.compress   --> udp send
Client <-- World <-- read <-- ByteString <-- GZip.decompress <-- udp receive

但是,showread 似乎是性能瓶颈 - 占用了大部分时间。随着世界的发展,这只会成为一个巨大的挑战。

我知道我必须在某个时候停止发送整个世界,但是除了使用 readshow 将数据结构转换为一个ByteString

最佳答案

我相信binary package提供与二进制格式之间非常高效的反序列化。

编辑:已请求代码,这是(BSD3)文档中的通用示例:

{-# LANGUAGE DeriveGeneric #-}

import Data.Binary
import GHC.Generics (Generic)

data Foo = Foo
deriving (Generic)

-- GHC will automatically fill out the instance
instance Binary Foo

然后你可以例如使用encode代替show,使用decode代替read。请注意,该包还有其他几个可能有用的功能,并且格式可以自定义。

关于haskell - 有没有更好的性能替代方案可以在 Haskell 中阅读和展示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25496672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com