I thought that I'd let people know my progress with regard to performance:

I changed most of the UT_stricmp()s to UT_strcmp() where acceptable (which 
is #defined to strcmp() so don't get your pants in a bunch). I made 
pp_Properties.cpp use a binary search, and I made the XML importers use a 
binary search for mapping tags to integer ids. I also optimized the Unix 
Font and Unix Graphic classes. Others should do the same for their 
respective platforms.

The end result: we're (relatively to any other Abi version) lightning fast. 
Abi-CVS-HEAD with debugging symbols is substantially faster than 0.7.12 
*without* debugging symbols (and all of the slowdowns that UT_DEBUGMSG 
causes). I call this release "gtk+ can scroll" because for the first time 
ever, you can actually scroll reasonably well on the GTK+ platform. 
Importing of XML documents (including ABW) is *hugely* sped up as well as 
exporting of XML documents. And this is all on a debug build ;)

This speed up now draws my attention to other slow points:

1) GR_(Unix|Gnome|PS)Graphics::setFont() is ineffecient
2) UT_vector is fscking slow!!! ***** this is the biggest slowdown *****
3) The timer thing that Martin mentioned
4) Aaron L's isCharSubscript() problem
5) UT_bytebuf is probably too slow for our needs in its current form and 
usage (Try importing Word docs with images to see what I mean). Perhaps come 
up with a STL replacement??
6) (pick your favorite other slowdown...)

I'll commit this tonight after work and before studying for exams. 
Hopefully, I'll be able to get the setFont() thing fixed too. Aaron and Sam 
are working on the STL UT_vector replacement I think. Hopefully it'll speed 
things up some more.

Dom
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com


Reply via email to