Я анализирую некоторый XML, используя Expat в Python (вызывая parser = xml.parsers.expat.ParserCreate()
и затем устанавливая соответствующие обратные вызовы для моих методов).
Кажется, что когда Expat вызывает read(nbytes)
для возврата новых данных, nbytes
всегда 2,048.У меня достаточно много XML для обработки, и я подозреваю, что эти маленькие read () делают весь процесс довольно медленным.Для справки: на Intel Xeon X5550, 2,67 ГГц под управлением Windows 7 я вижу пропускную способность около 9 МБ / с.
Я пытался установить parser.buffer_text = True
и parser.buffer_size = 65536
, но Expatвсе еще вызывая метод read()
с аргументом всего 2048.
Возможно ли увеличить это?