Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell Data.Attoparsec.ByteString是否使用;零拷贝”;惯性导航与制导?_Haskell_Bytestring_Attoparsec - Fatal编程技术网

Haskell Data.Attoparsec.ByteString是否使用;零拷贝”;惯性导航与制导?

Haskell Data.Attoparsec.ByteString是否使用;零拷贝”;惯性导航与制导?,haskell,bytestring,attoparsec,Haskell,Bytestring,Attoparsec,比如说。内部使用 这是否意味着它只是通过testring引用输入?可能没有,如果有的话,有办法做到这一点吗 激发动机的用例是一个大(>2gb)文件,我想将其映射到内存中,并提取指向映射内存的ByteString。是的,在ByteString上的所有类似子字符串的操作都是O(1),如中所示,并使用不同的偏移量/长度进行浅拷贝。 如果您不需要,可以使用copy获取解析结果的完整副本,这样就可以对原始的巨大字符串进行垃圾收集 另外,考虑懒惰>代码>化身> MMAP和AttoPARSSEC> ,在大块的

比如说。内部使用

这是否意味着它只是通过testring引用输入?可能没有,如果有的话,有办法做到这一点吗


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

是的,在ByteString上的所有类似子字符串的操作都是O(1),如中所示,并使用不同的偏移量/长度进行浅拷贝。 如果您不需要,可以使用
copy
获取解析结果的完整副本,这样就可以对原始的巨大字符串进行垃圾收集

另外,考虑<代码>懒惰>代码>化身> MMAP和AttoPARSSEC> <代码>,在大块的连续解析的情况下,它可能更优。