这是否意味着它只引用输入字节串?可能不是,如果有的话,有没有办法实现这个目标?
激励用例是一个大型(> 2gb)文件,我希望将其映射到内存并提取指向映射内存的字节串。
答案 0 :(得分:3)
是的,ByteString
上所有类似字符串的操作都是 O(1),正如您在documentation中看到的那样,并使用不同的方法制作浅层副本偏移/长度。
如果您不需要,请使用copy
获取已解析结果的完整副本,以便原始的大字符串可以被垃圾收集。
此外,考虑Lazy
和mmap
的{{1}}版本,如果连续解析大块,它可能更为理想。