Template parser uses Ye Olde Time Lineare Time cutpoint matching algorithm, leading to very poor performance with long cutpoints lists

Description

The "cutpoint system" for the renderer was never really designed to be used, and as a result was implemented with a cutpoint matching algorithm with very poor time complexity. Now that in CollectionSpace we have acquired a template with 175 cutpoints, this is degrading performance significantly. See http://issues.collectionspace.org/browse/CSPACE-2569 and http://wiki.collectionspace.org/display/collectionspace/Performance+analysis+from+the+Client-side

Environment

None

Activity

Show:

Golam Chowdhury March 3, 2011 at 9:49 PM

Changed the "Affect Version" to 1.3.1.

Antranig Basman August 10, 2010 at 7:12 AM

Fixed at revision 9987 - Accelerated cutpoint matching for cutpoints that consist of a single class. With this implementation, parsing of test template derived from CollectionSpace "object.html" with 175 class-based cutpoints is nearly 10 times faster - parse time reduced from around 500ms to around 70ms. Should people be found using many id-based selectors these could be accelerated too.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created August 10, 2010 at 6:44 AM
Updated March 3, 2014 at 6:42 PM
Resolved August 10, 2010 at 7:12 AM