我的理解是ByteString
只是Word8
s的向量列表。这种打包为二进制流提供了更好的内存和速度性能。同样,Text
类型会提升Char
流的效果。
但是如果我有Int
个流或Double
个流怎么办?是否有ByteString
的参数化版本,易于使用不同的数据类型?我认为只使用不可用的类型才有意义。
答案 0 :(得分:12)
Vector
是严格数组的首选。 StorableVector
尝试成为一个更像ByteString
的界面,包括懒惰的,分块的行为,我相信甚至最初是作为ByteString
代码的概括而写的:http://hackage.haskell.org/package/storablevector < / p>
答案 1 :(得分:1)
如果您只想要“严格”版本,请使用vector作为平台的一部分。 Vector具有未装箱和(完全通用)盒装变体。 Vector还包括激进的高质量流融合。