W3C home > Mailing lists > Public > w3c-ietf-xmldsig@w3.org > April to June 2002

Re: New Version of XPath Filter

From: Aleksey Sanin <aleksey@aleksey.com>
Date: Tue, 09 Apr 2002 06:58:59 -0700
Message-ID: <3CB2F3A3.3040008@aleksey.com>
To: merlin <merlin@baltimore.ie>
Cc: John Boyer <JBoyer@PureEdge.com>, reagle@w3.org, w3c-ietf-xmldsig@w3.org
Merlin,

I also did few "non-representative tests" and found that performing subtree
expansion externally gives 10-15% speedup in my case (LibXML2). However,
if the application *do not* want to expand subtrees then the performance is
much worse (5-6 times in the same tests but it significantly depends on
the expression and the number of direct childs you need to exclude).

It looks like the best solution would be to have an additional parameter 
that will
control whether childs expansion is done or not. For example, we could add
"#noChildsExpansion" to the transform href. In this case, the node set 
S' is set to S
and everything else is done as you've described in the proposal. What do 
you think?


Aleksey Sanin <aleksey@aleksey.com>
http://www.aleksey.com/xmlsec


BTW, the test program I used and few results are available for download:
        http://www.aleksey.com/xmlsec/download/misc/xpath-test.tar.gz
It requires recent LibXML2 library:
        http://xmlsoft.org/downloads.html




>In terms of performance, it is my experience that selecting nodes by XPath
>and performing the subtree expansion externally gives between 1.5x and 2x
>speedup (in two nonrepresentative tests). Not huge, but bear in mind that
>performance _was_ the reason we designed this transform. It's a free win,
>and it would seem a practical impossibility for an implementation to do
>this more slowly than a general XPath processor.
>
Received on Monday, 8 April 2002 21:59:22 GMT

This archive was generated by hypermail 2.2.0 + w3c-0.29 : Thursday, 13 January 2005 12:10:15 GMT