我正在使用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
和parser.buffer_size = 65536
,但Expat仍在调用read()
方法,参数仅为2,048。
是否可以增加这个?
答案 0 :(得分:2)
你在谈论xmlparse.ParseFile方法,对吧?
不幸的是,不,该值在pyexpat.c中被硬编码为BUF_SIZE = 2048。