[英]Python2.6 XML reading
我想将系统从Active Python 2.4迁移到Python 2.6.5。 但是,我在解析XML文件时遇到一些问题。 I / O非常慢。
我的样本xml文件
<config><dicts><dictName>EnvDict</dictName><dictElems><key>AppServerIP</key> <value>localhost</value><key>DBServerIP</key> <value>localhost</value><key>DBServerName</key> <value>DB1</value></dictElems></dicts></config>
我的日志显示此xml解析耗时25s。
我的系统结构如下
Publisher-Subr用于将请求重定向到不同的模块
ClntMgrFact附加到PubSubr,并侦听预定义的端口。 它将产生一个新的从客户端登录的过程。
ClntMgr(process)由ClntMgrFact生成,并且也附加到PubSubr。 ClntMgr将生成一个ClntWorker(thread)来处理工作流。
ClntWorker需要从本地读取一些静态XML文件 。 但是解析非常慢。 我的XML文件大约是500-700k。
任何人都可以在不更改系统结构的情况下提供帮助吗? 提前致谢。
我很困惑...:
$ py26 -mtimeit -s'import rex' 'rex.t()'
10000 loops, best of 3: 103 usec per loop
100微秒似乎比25秒更合理的方式来读取和解析您所提供的小XML文件(即使在我用于计时的旧笔记本电脑上也是如此!),但是如何解释我解析速度比您快25万倍吗?
这是rex.py
,顺便说rex.py
...:
import xml.etree.cElementTree as et
def t(fn='static.xml'):
return et.parse(fn)
static.xml
是我编写XML示例的文件(223个字符)。
那么您的平台,操作系统,Python版本,选择的XML解析器等是什么? 我使用的是Macbook Pro笔记本电脑,OSX 10.5.8、2.4 GHz Intel Core Duo,667 MHz DDR2 RAM-正如我所说,确实是一台相当老的机器! -直接来自python.org的Python 2.6.4。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.