Community
Participate
Working Groups
HierarchyIndexColumn class had an inefficient algorithm that, when combined with a large data set (ie: 26,000+), took a very long time to run. The computeHierarchyIndex() and getPosition() were being used over and over to determine the hierarchy index values. We made use of a MapMaker - a map that assigns an expiration timer to each item that is added to the map - which acts as a cache and interrupts the horribly inefficient recursive calls.
Created attachment 210000 [details] HierarchyIndexColumn class had an inefficient algorithm