News


30.1.2005 - Validation support

A sort of milestone. Still needs some tweaking and hard testing. Next stop is RelaxNG module?!


11.8.2004 - Optimizations and portability improvements

New release introduces several optimizations (see ChangeLog). Portability has also been improved by making some changes mostly in xmlcfg.h. Infact PalmOS port should be on its way - I've been in touch with a guy who's working on this. More about this soon.


5.6.2004 - It should be mentioned...

that although parsifal doesn't yet pass the oasis xml testsuite with 100 % conformance, the most of remaining/failing about 50 of 1811 tests aren't critical for using XML 1.0 features - you can use them all! Also note that there are a few tests that fail because of namespace support or because the test parser used libiconv and thus reports PASS with japanese encodings etc.


1.6.2004 - Towards full XML conformance

New release 0.8.0 adds support for DTD processing; declaration handlers, default attribute processing and parameter entities etc. Parser stays quite lightweight despite of all these new features!


9.3.2004 - Optimization thoughts

I ran Parsifal 0.7.4 on MSVC++ profiler with test.rdf (11 MB attribute oriented document) some time ago. Function timing results are here. Ignore modules profiler.obj and bench.obj when checking the results.

Inlining ReadCh (with __inline) improves the performance most but as there's total 24 occurrences of ReadCh calls, this makes executable about 4 KB bigger! Making separate version of inlined ReadCh for critical points could be an option in this case. Besides inlining ReadCh making new version of XMLStringbuf_Append inside parsifal.c and _forceinline'ing it improves total performance from about 0.88 sec to 0.72 sec. (DLL executable size grows from 80KB to 88KB). I didn't yet make any calling convention tests or changes - don't know if they'll be worth all the #ifdefs and all that hassle.

Some optimizations via conditional compilation will be available in the next release.



Copyright © 2002-2005 Toni Uusitalo.
Send mail, suggestions and bug reports to

Last modified: 30.01.2005 23:00