草庐IT

xml - 如何使用 hexpat 延迟处理 xml 文档?

在寻找可以处理大型(300-1000mb)xml文件的haskell库时,我遇到了hexpat.有anexample在HaskellWiki中声称--Processdocumentbeforehandlingerror,sowegetlazyprocessing.出于测试目的,我已将输出重定向到/dev/null并向其抛出一个300mb的文件。内存消耗一直在上升,直到我不得不终止进程。现在我从process函数中删除了错误处理:process::String->IO()processfilename=doinputText因此,该函数现在使用常量内存。为什么错误处理会导致大量内存消耗?