This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Ordering of Blocks based on Input/Output




Jeni Tennison wrote:
> 
> 
> If you want
> to 'assume no optimisation' (one of Mike Kay's tips) completely, then
> really you should use test="$todo[1]".
> 
Ouch. Yup.

> Here's my crack at the problem, which is basically the same as yours
> except that I'm applying templates and hence stepping through the
> blocks one by one.
> 

> 
> I really don't know about the relative performance of the two - Dan,
> you'd have to try it out.  
> 
Yes, I think we need some larger test data sets if we want to take
performance discussions beyond generalities. It would also help to have
some idea of what environment the XSLT will be executing in, what are
the parser choices, what kind of performance you're getting at the
moment and what kind of performance you need to get.

> 
> And actually, the templates in both could take advantage of the
> set:difference() extension function, which would make clearer what was
> going on, and would improve performance if it was implemented
> intelligently:
> 
Absolutely. Some optimisation here could get pretty near the heart of
the problem. On the other hand we could end up with a situation where we
have to check each parser for the relative speed of:

	$left[count(. | $next) > 1]
v.
	$left[generate-id(.) != generate-id($next)]
v. 
	set:difference($left, $next)

(Just joking, I trust...)

Francis.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]