Lists Home |
Date Index |
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?