0
我正尝试在内存中创建一个缓冲区,我可以使用它来通过套接字将ByteString
从服务器发送到客户端。我希望它是可变的,所以我可以重用它。什么是正确的方式来创建一个缓冲区来保存Haskell中的ByteStrings
我想这样做的原因是因为发送惰性ByteString
s会直接导致为每个服务器响应创建大量对象,并且由于垃圾收集过多(在GC中花费了40%)而导致服务器停止运行。
我正在调查IOUArray
但这只适用于Int
,Word32
等,但不适用于ByteString
。
我正在研究的另一个选项是创建一个Array Int (IORef ByteString)
- 每个ByteString必须具有相同的大小,但我不确定这是否是正确的方法。
我在网上查了很多文档,但是他们的地址是IOArray
或IORef
,但从来没有一个ByteStrings数组。
我非常感谢任何指针,如何去做这个或在哪里寻找更多的信息。