[Home] [By Thread] [By Date] [Recent Entries]

  • To: xml-dev@l...
  • Subject: Exploiting multi-core CPUs during XML parsing
  • From: Sean McGrath <sean.mcgrath@p...>
  • Date: Sat, 01 Apr 2006 08:22:18 +0100
  • User-agent: Mozilla Thunderbird 1.0.7 (X11/20051013)

I have sketched out an algorithm for fast XML WF parsing utilising two 
threads that each start at opposite ends of the octet-stream and meet in 
the middle. The algorithm hinges on the fact that start- and end-tags 
are balanced. i.e. as one thread reads forward looking for foo 
start-tag, the other thread is reading backwards looking for foo end-tag.

This also has the nice side effect of giving you accurate error messages 
quickly. i.e. as soon as a mismatched tag is found, it can be reported. 
This is particularly useful with recursive element types.

Modern machines (even desktop boxes) will increasingly have multi-core 
CPUs as standard and I think it behooves us to find ways of exploiting 
that in the XML world.

But to get the most out of the algorithm, you really need a filesystem 
that supports reading byte-streams backwards.

Does anyone know of such a filesystem?

thanks,
Sean


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member