我正在使用 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 = Trueand parser.buffer_size = 65536,但 Expat 仍在read()使用仅 2,048 的参数调用该方法。
有可能增加这个吗?