我的理解是ByteString
s 只是 s 的向量列表Word8
。这种封装在二进制流上提供了更好的内存和速度性能。同样,该Text
类型提高了Char
流的性能。
但是,如果我有Int
流或Double
流怎么办?是否有ByteString
易于与不同数据类型一起使用的参数版本?我认为只在不可装箱的类型上使用才有意义。
我的理解是ByteString
s 只是 s 的向量列表Word8
。这种封装在二进制流上提供了更好的内存和速度性能。同样,该Text
类型提高了Char
流的性能。
但是,如果我有Int
流或Double
流怎么办?是否有ByteString
易于与不同数据类型一起使用的参数版本?我认为只在不可装箱的类型上使用才有意义。
Vector
是严格数组的首选。StorableVector
试图成为一个更类似ByteString
的接口,包括惰性、分块行为,我相信甚至最初是作为ByteString
代码的概括编写的:http: //hackage.haskell.org/package/storablevector
如果您只想要“严格”版本,请使用作为平台一部分的向量。Vector 具有未装箱和(完全通用的)装箱变体。Vector 还包括积极的高质量流融合。