我正在使用 Python 的 Expat 解析一些 XML(通过调用parser = xml.parsers.expat.ParserCreate()
然后将相关回调设置到我的方法)。
似乎当 Expat 调用read(nbytes)
返回新数据时,nbytes
总是 2,048。我有很多 XML 需要处理,并且怀疑这些小的 read() 使整个过程相当缓慢。作为参考,我在运行 Windows 7 的 Intel Xeon X5550、2.67 GHz 上看到大约 9 MB/s 的吞吐量。
我已尝试设置parser.buffer_text = True
and parser.buffer_size = 65536
,但 Expat 仍在read()
使用仅 2,048 的参数调用该方法。
有可能增加这个吗?