我的理解是ByteString
s只是Word8
s的向量列表。這種封裝在二進制流上提供了更好的內存和速度性能。類似地,Text
類型可以提高Char
流的性能。是否有懶惰`ByteString`的參數版本?
但是如果我有Int
流或Double
流呢?是否有易於在不同數據類型中使用的參數版本ByteString
?我認爲這隻適用於不可裝箱的類型。
我的理解是ByteString
s只是Word8
s的向量列表。這種封裝在二進制流上提供了更好的內存和速度性能。類似地,Text
類型可以提高Char
流的性能。是否有懶惰`ByteString`的參數版本?
但是如果我有Int
流或Double
流呢?是否有易於在不同數據類型中使用的參數版本ByteString
?我認爲這隻適用於不可裝箱的類型。
Vector
是嚴格數組的前提選擇。 StorableVector
試圖成爲一個更類似ByteString
的界面,包括懶惰,分塊的行爲,我相信甚至寫成ByteString
代碼的擴展:http://hackage.haskell.org/package/storablevector
如果您只希望「嚴格」版本使用vector這是平臺的一部分。 Vector具有非盒裝和(完全通用)盒裝變體。矢量還包括積極的高品質流融合。
我想懶惰的版本。具體來說,我希望能夠以幾千兆字節的「Double」訪問數據結構,而無需將它們全部加載到內存中。 –
此外,許多人使用懶惰的字節串和反序列化來獲取'Int's或'Double'的lasy流。 –