Project

Profile

Help

Bug #2367

closed

Performance regression with xsl:key

Added by Michael Kay almost 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Performance
Sprint/Milestone:
Start date:
2015-04-29
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
9.6
Fix Committed on Branch:
9.6
Fixed in Maintenance Release:
Platforms:

Description

The fix to bug #1968 introduced a performance regression for keys where the key definition references global variables or user-defined functions. Indexes for such keys are no longer held globally, because the index (and the result of using it) can depend on per-transformation data such as global stylesheet parameters. Instead they are held at the level of the Controller. But such local indexes are not being properly cached for the duration of a transformation and are therefore built repeatedly rather than being reused. Test case key-089 illustrates the problem.

Actions #1

Updated by Michael Kay almost 9 years ago

  • Status changed from New to Resolved

Patch committed (in KeyManager.putLocalIndex) on the 9.6 nd 9.7 branches.

Actions #2

Updated by O'Neil Delpratt almost 9 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100
  • Fixed in version set to 9.6.0.6

Bug fix applied in the Saxon 9.6.0.6 maintenance release.

Actions #3

Updated by O'Neil Delpratt over 8 years ago

  • Sprint/Milestone set to 9.6.0.6
  • Applies to branch 9.6 added
  • Fix Committed on Branch 9.6 added
  • Fixed in Maintenance Release 9.6.0.6 added

Please register to edit this issue

Also available in: Atom PDF