diff options
author | Dieter Verfaillie <dieterv@optionexplicit.be> | 2013-02-14 17:41:49 +0100 |
---|---|---|
committer | Dieter Verfaillie <dieterv@optionexplicit.be> | 2013-04-09 23:14:03 +0200 |
commit | 5ed56c0b62f917b448d28bf4742300fa173dbd90 (patch) | |
tree | faf0818c611bf3103dfa855a3857c3d2a7650011 /m4 | |
parent | 2734e9a3334db0304c07bd892a863db076c3a543 (diff) | |
download | gobject-introspection-5ed56c0b62f917b448d28bf4742300fa173dbd90.tar.gz |
giscanner: use SqlAlchemy's OrderedDict implementation
g-ir-scanner can be a bit on the slow side. While true we
now do a bit more work parsing GTK-Doc comment blocks and
more is still to come, one of the biggest hotspots besides
what's going on in _giscanner.SourceScanner() comes from
the OrderedDict implementations we have been using.
For example, time needed to build Gtk-3.0.gir on a relatively
slow machine using "python2 -m cProfile -o $prefix/bin/g-ir-scanner ...":
1) Our original DictMixin sublass:
92,79867 seconds
2) Python's collections.OrderedDict class:
88,65786 seconds
3) Larosa/Foord implementation from http://www.voidspace.org.uk/python/odict.html :
71,64323 seconds
4) SqlAlchemy's implementation:
66,12449 seconds
Looks like we have a clear winner with the SqlAclchemy
implementation, which comes in at around 20 seconds
without profiling on the same machine. Not bad.
https://bugzilla.gnome.org/show_bug.cgi?id=697620
Diffstat (limited to 'm4')
0 files changed, 0 insertions, 0 deletions