【发布时间】:2013-05-30 04:45:06
【问题描述】:
我的理解是ByteStrings 只是Word8s 的向量列表。这种封装在二进制流上提供了更好的内存和速度性能。同样,Text 类型提高了Char 流的性能。
但是如果我有Int 流或Double 流怎么办?是否有易于与不同数据类型一起使用的ByteString 的参数版本?我认为只在不可装箱的类型上使用才有意义。
【问题讨论】:
标签: haskell bytestring
我的理解是ByteStrings 只是Word8s 的向量列表。这种封装在二进制流上提供了更好的内存和速度性能。同样,Text 类型提高了Char 流的性能。
但是如果我有Int 流或Double 流怎么办?是否有易于与不同数据类型一起使用的ByteString 的参数版本?我认为只在不可装箱的类型上使用才有意义。
【问题讨论】:
标签: haskell bytestring
Vector 是严格数组的首选。 StorableVector 试图成为一个更像 ByteString 的接口,包括惰性、分块行为,我相信甚至最初是作为 ByteString 代码的概括编写的:http://hackage.haskell.org/package/storablevector
【讨论】:
Ints 或Doubles 的惰性流。
如果您只想要“严格”版本,请使用vector,它是平台的一部分。 Vector 具有未装箱和(完全通用的)装箱变体。 Vector 还包括积极的高质量流融合。
【讨论】:
Doubles 的数据结构,而无需将它们全部加载到内存中。