[KULRICE-8928] Improve initialization of FreeMarker Parser Created: 06/Feb/13  Updated: 16/Jan/15

Status: Open
Project: Kuali Rice Development
Component/s: Development, Performance, User Experience (UX)
Affects Version/s: None
Fix Version/s: 2.6
Security Level: Public (Public: Anyone can view)

Type: Improvement Priority: Major
Reporter: Daniel Epstein (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: Old
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
cloned from KULRICE-7208 Template Closed
Similar issues:
KULRICE-10353Inline processing of FreeMarker templates
KULRICE-1532KNS DataDictionaryBuilder exception improvement
KULRICE-8929KRAD rederning is slow due to Freemarker's FMParser initializing LookaheadSuccess multiple times
KULRICE-11869FreeMarker error in testTransactionView
KULRICE-6510Implement real parser for query expression language
KULRICE-2935Improve Email Node to allow generation of an email from the initiator.
KULRICE-8433Performance: remove quickfinder and inquiry initialization from base beans
KULRICE-9803Remove interpret freemarker calls
KULRICE-10526Assist KC with KRAD initial conversion script evaluation
KULRICE-10548Freemarker rendering phase extension
Epic Link: Performance
Rice Team: Framework
Rice Module:
KRAD Feature Area:
UIF Component
KAI Review Status: Not Required
KTI Review Status: Not Required
Include in Release Notes?:


I was doing some profiling on our application and a huge amount of time is being spent in the initialization of FMParser which is creating an exception called LookaheadSuccess. The way the exception is initialized many times, it will always fill in the stacktrace which is a very expensive operation and could be made much faster using a static variable. This has the potential to give KRAD a noticeable performance gain.
See: http://freemarker.624813.n4.nabble.com/Flow-control-by-Exception-td626112.html

Comment by Jessica Coltrin (Inactive) [ 18/Jun/13 ]

removing m3 fix version since these aren't assigned and will not be done by Monday's m3 release.

Generated at Fri Jul 10 18:31:55 CDT 2020 using JIRA 6.1.5#6160-sha1:a61a0fc278117a0da0ec9b89167b8f29b6afdab2.