RE: [xsl] XSLT 2.0 function - fastest node comparison

Subject: RE: [xsl] XSLT 2.0 function - fastest node comparison
From: "Kirkham, Pete (UK)" <pete.kirkham@xxxxxxxxxxxxxx>
Date: Thu, 10 Mar 2005 14:39:06 +0000
Assuming the ranges don't overlap, you could transform the list of ranges into
a sorted binary tree:

<range from="988" to="8197">
  <range to="1036">
    <range to="1009">
      <range from="988" to="989"/>
      <range from="1008" to="1009"/>
    </range>
    <range from="1014">
      <range from="1014" to="1014"/>
      <range from="1025" to="1036"/>
    </range>
  </range>
  <range from="1038">
    <range to="1116">
      <range from="1038" to="1103"/>
      <range from="1105" to="1116"/>
    </range>
    <range from="1118">
      <range to="4150">
        <range from="1118" to="1119"/>
        <range from="4150" to="4150"/>
      </range>
      <range from="8194" to="8197"/>
    </range>
  </range>
</range>

which gives O(log N) range tests rather than O(N) range tests. Then you have
to find out whether a recursive function to navigate the tree is slower by a
sufficient factor to kill any advantage in the number of tests being lower for
large N.


Pete

********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************

Current Thread