【问题标题】:Is there a parametric version of lazy `ByteString`?是否有惰性`ByteString`的参数版本?
【发布时间】:2013-05-30 04:45:06
【问题描述】:

我的理解是ByteStrings 只是Word8s 的向量列表。这种封装在二进制流上提供了更好的内存和速度性能。同样,Text 类型提高了Char 流的性能。

但是如果我有Int 流或Double 流怎么办?是否有易于与不同数据类型一起使用的ByteString 的参数版本?我认为只在不可装箱的类型上使用才有意义。

【问题讨论】:

    标签: haskell bytestring


    【解决方案1】:

    Vector 是严格数组的首选。 StorableVector 试图成为一个更像 ByteString 的接口,包括惰性、分块行为,我相信甚至最初是作为 ByteString 代码的概括编写的:http://hackage.haskell.org/package/storablevector

    【讨论】:

    • 另外,很多人使用惰性字节串和反序列化来获取Ints 或Doubles 的惰性流。
    【解决方案2】:

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

    【讨论】:

    • 我想要懒人版。具体来说,我希望能够访问具有几 GB Doubles 的数据结构,而无需将它们全部加载到内存中。
    猜你喜欢
    • 2022-11-16
    • 1970-01-01
    • 2010-12-22
    • 2021-08-12
    • 1970-01-01
    • 2022-12-06
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多