我正在尝试在内存中创建一个缓冲区,我可以使用它来通过套接字将ByteString
从服务器发送到客户端。我希望它是可变的,所以我可以重复使用它。
我想这样做的原因是因为直接发送延迟ByteString
会导致为每个服务器响应创建大量对象,并且由于过多的垃圾收集而导致服务器速度降低(在GC中花费40%)。
我正在研究IOUArray
,但这仅适用于Int
,Word32
等,但不适用于ByteString
。
我正在研究的另一个选择是创建一个Array Int (IORef ByteString)
- 每个ByteString必须具有相同的大小,但我不确定这是否是正确的方法。
我在线查看了大量文档,但是它们要么是IOArray
,要么是IORef
,而是来自ByteStrings数组。
我非常感谢任何指示,如何去寻找或寻找更多信息。