Affects Version/s: Master
Currently DDMFormTemplateContextFactoryHelper.getEvaluableDDMFormFieldNames has an algorithm that uses runtime compilation of regex pattern (Pattern.compile) to determine which form fields are being used in the form expressions. This method has a considerable cost (to convert a string representation to an internal model) and its use at runtime should be avoided if possible.
- Import Forms-256 fields-with-1-entry-submitted.portlet.lar.
- Open the imported form for edition
- Save the form
The server takes roughly 5 seconds to respond
The server is taking more than 20 seconds to respond
The time that the server takes to responde can be see in the Network tab of Chrome DevTools. Use "manage?" to filter the relevant requests (one has method POST and the other with method GETs follow immediately). Then check the Waiting portion (TTFB) of the timing of request (see attached screenshot for a relevant capture).
The form builder itself will take a little longer to be ready than the time waiting for the server response, as more processing is needed in the front-end to render the form builder.
This improvement opportunity was discovered while working on
LPS-138168, for a customer who authored a form with more than 256 fields.