Thanks, makes sense.
On 27.03.2015, at 12:09, Michael Kay mike(_at_)saxonica(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
I agree the above is O(n^2) with no duplicates. However I wonder how
distinct-values is implemented with Saxon that you say it is O(n log n).
What intrigues me is that the order does not change on Oxygen 16.1.
Saxon's implementation of distinct-values($input) is basically:
HashSet set = new HashSet();
for each x in $input
if (!set.contains(x)) {
set.add(x);
result.add(x);
}
}
except that the code is inverted to make it streamable.
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--