2gb) 文件,我想将其映射到内存中并提-6ren">
gpt4 book ai didi

haskell - Data.Attoparsec.ByteString 是否使用 "zero copy"ing?

转载 作者:行者123 更新时间:2023-12-03 23:55:13 24 4
gpt4 key购买 nike

takeWhile为例.在内部它使用 span .

这是否意味着它只是引用输入字节串?可能不是,如果是这样,有没有办法实现这一目标?

激发用例是一个大的 (>2gb) 文件,我想将其映射到内存中并提取指向映射内存的字节串。

最佳答案

是的,ByteString 上所有类似子串的操作都是 O(1),正如您在 documentation 中看到的那样,并制作一个具有不同偏移量/长度的浅拷贝。如果您不需要它,请使用 copy 获取解析结果的完整副本,这样原始的巨大字符串就可以被垃圾回收。

此外,考虑 mmapAttoparsecLazy 化身,在连续解析大块的情况下它可能更优化.

关于haskell - Data.Attoparsec.ByteString 是否使用 "zero copy"ing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22378922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com