Skip to content
skinkie edited this page Jun 7, 2011 · 2 revisions

Alle benchmarks zijn 'hot-runs'

import sys
from xml.dom import minidom
minidom.parse(sys.argv[1])

time python /tmp/benchmini.py /mnt/dump/test/bag/gouda/NUM/1005NUM01012010-0001.xml real 0m33.296s user 0m32.788s sys 0m0.502s


import sys
import xml.etree.ElementTree as ET
ET.parse(sys.argv[1])

time python /tmp/benchet.py /mnt/dump/test/bag/gouda/NUM/1005NUM01012010-0001.xml real 0m15.338s user 0m15.184s sys 0m0.152s


import sys
import elementtree.ElementTree as ET
ET.parse(sys.argv[1])

time python /tmp/benchet1.py /mnt/dump/test/bag/gouda/NUM/1005NUM01012010-0001.xml real 0m14.847s user 0m14.688s sys 0m0.156s


import sys
import cElementTree as ET
ET.parse(sys.argv[1])

time python /tmp/benchet2.py /mnt/dump/test/bag/gouda/NUM/1005NUM01012010-0001.xml real 0m1.109s user 0m1.081s sys 0m0.027s


import sys
import lxml.etree as ET
ET.parse(sys.argv[1])

time python /tmp/benchlxml.py /mnt/dump/test/bag/gouda/NUM/1005NUM01012010-0001.xml real 0m0.837s user 0m0.773s sys 0m0.064s

Conclusie

Minidom kunnen we het beste vervangen, maar hoe weten we nu dat bij een beetje Python installatie we een goede ElementTree kiezen?

try:
    import lxml.etree as ET
except ImportError:
    try:
        import cElementTree as ET
    except ImportError:
        try:
            import elementtree.ElementTree as ET
        except ImportError:
            import xml.etree.ElementTree as ET
Clone this wiki locally