是否存在lazy`ByteString`的参数化版本?

时间:2013-05-30 04:45:06

标签: haskell bytestring

我的理解是ByteString只是Word8 s的向量列表。这种打包为二进制流提供了更好的内存和速度性能。同样,Text类型会提升Char流的效果。

但是如果我有Int个流或Double个流怎么办?是否有ByteString的参数化版本,易于使用不同的数据类型?我认为只使用不可用的类型才有意义。

2 个答案:

答案 0 :(得分:12)

Vector是严格数组的首选。 StorableVector尝试成为一个更像ByteString的界面,包括懒惰的,分块的行为,我相信甚至最初是作为ByteString代码的概括而写的:http://hackage.haskell.org/package/storablevector < / p>

答案 1 :(得分:1)

如果您只想要“严格”版本,请使用vector作为平台的一部分。 Vector具有未装箱和(完全通用)盒装变体。 Vector还包括激进的高质量流融合。