Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-8929

KRAD rederning is slow due to Freemarker's FMParser initializing LookaheadSuccess multiple times


    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Won't Fix
    • Affects Version/s: 2.2
    • Fix Version/s: 2.3.0-m3, 2.3
    • Component/s: Performance
    • Security Level: Public (Public: Anyone can view)
    • Labels:
    • Similar issues:
      KULRICE-8928Improve initialization of FreeMarker Parser
      KULRICE-11869FreeMarker error in testTransactionView
      KULRICE-12988KC app startup time really slow with the latest rice 2.5 revision
      KULRICE-12605KRAD property editors aren't loaded due to KNS spring configuration that overrides KRAD configuration
      KULRICE-4037KFS user preference records cause batch slowness due to too many krew_usr_optn_t records in Rice
      KULRICE-531development slowness
      KULRICE-8442Module locking needs converted to FreeMarker
      KULRICE-12991Application startup time slow after Spring 4.0.x upgrade
      KULRICE-13780Create Freemarker 404 AFT
      KULRICE-10353Inline processing of FreeMarker templates
    • Rice Module:
    • KRAD Feature Area:
      UIF MVC
    • Application Requirement:
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required


      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

      After making the change locally, render time went from 7 seconds to 2.

        Issue Links


          Daniel Epstein (Inactive) made changes -
          Field Original Value New Value
          Link This issue is related to KSENROLL-5152 [ KSENROLL-5152 ]
          Jerry Neal (Inactive) made changes -
          Fix Version/s 2.3 [ 16595 ]
          Jerry Neal (Inactive) made changes -
          Link This issue relates to KULRICE-6557 [ KULRICE-6557 ]
          Grant Trudel (Inactive) made changes -
          Documentation Review Status Pending Review [ 14643 ] Not Required [ 14642 ]
          Jessica Coltrin (Inactive) made changes -
          Fix Version/s 2.3.0-m3 [ 16758 ]
          Jessica Coltrin (Inactive) made changes -
          Assignee Jerry Neal [ jkneal ]
          Jerry Neal (Inactive) made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Won't Fix [ 2 ]
          Jessica Coltrin (Inactive) made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Shem Patterson (Inactive) made changes -
          Workflow custom [ 163447 ] Copy of custom for rice [ 215467 ]
          Shem Patterson (Inactive) made changes -
          Workflow Copy of custom for rice [ 215467 ] custom [ 225215 ]
          Shem Patterson (Inactive) made changes -
          Workflow custom [ 225215 ] Rice Workflow [ 234963 ]


            • Assignee:
              Jerry Neal (Inactive)
              Daniel Epstein (Inactive)
            • Votes:
              0 Vote for this issue
              4 Start watching this issue


              • Created:

                Structure Helper Panel