6 Jul 2004 DV   » (Master)


Last releases for libxml2 and libxslt were 6 weeks ago, so 2.6.11 and 1.1.8 are out, they include a lot of bug fixes especially for libxml2. Also there is now a person working on fixing XML Schemas (Kasimier Buchcik) who apparently can make his way though the spec and my code, he started doing regression testing against W3C testsuite. Interestingly he was so far a Windows only user/developper, but as he got involved he's getting into Linux.

GCC improvements

With Arjan van der Ven we played with various options to reduce code size and local library calls costs, we managed to get 5-10% improvement using gcc aliasing for internal libraries call (see elfgcchack.h for the scary but XSLT generated header), the RPM on fedora also uses gcc runtime profiling to try to optimize the resulting code, but this requires gcc-3.4 or later.

But anyway the biggest improvement seems to simply use gcc-3.4, code generation seems way better:

   text    data     bss     dec     hex filename
 937377   32352   35124 1004853   f5535 /usr/lib/libxml2.so.2.6.11
 881072   31608   35828  948508   e791c /usr/lib/libxml2.so.2.6.11

the first one is on RHEL AS 3 with gcc version 3.2.3, the second is on Fedora Core 2 with gcc version 3.4.0, nice work from the GCC hackers, probably the SSA improvements.

Update: I was told 3.4 doesn't have SSA, so expect even better code for 3.5 :-)

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!