我已经为我们在一次讲座中使用的某种文件格式( ARFF )编写了一个动手递归纯 python 解析器。现在运行我的练习提交非常慢。到目前为止,大部分时间都花在了我的解析器上。它消耗大量CPU时间,HD不是瓶颈。
我想知道在 python 中编写解析器有哪些高效的方法?我宁愿不要用 C 重写它。我尝试使用 jython,但这大大降低了性能!我解析的文件部分很大(> 150 MB),行很长。
我当前的解析器只需要一个字符的前瞻。我会在这里发布源代码,但我不知道这是否是个好主意。毕竟提交截止日期还没有结束。但是,本练习的重点不是解析器。您可以选择您想使用的任何语言,并且已经有一个 Java 解析器。
注意:我有一个 x86_64 系统,所以 psyco(它似乎也是 PyPy)不是选项。
更新:我现在将我的解析器/写入器上传到bitbucket。