We are experiencing performance issues in a form with a lot of repeat entries.
We have no idea how to drill down on the problem, identify possible - modeling? - culprits and make the form performing better.
Any help is greatly appreciated. Thanks.
Issues
Given a document with around 600 repeat entries, we experience the following wait / response times in our application (already reproducible with the Form Model Preview).
- New entry: 5 s
- Detail screen > First selection: 9 s
- Detail screen > Second selection: 13 s
- Detail screen > Fill any field: at least 5 s
I attach a screen cast to show this:

Of course this is not the greatest experience for our users. Also, there are plans to allow even more repeat entries in this model (up to 10.000).
Models
The underlying document model basically consists of one central repeat group (/Belegliste/Beleg), which currently can hold up to 1000 entries. We have a couple of fields and quite a number of rules and computations, some of which perform aggregations. We use some enumerations with categories.
In the form model, we make some use of dependencies, often based upon said enumerations.
Questions
How can I find out what consumes the most time?
Is it computations / validations or some form concepts, such as dependencies (in general)?
Can I somehow profile the processes following a user interaction? Can I turn on helpful logging in the kernel / form engine?
Are there any best and worst practices when it comes to modelling with respect to performance?
Could someone please have a look at the attached models and maybe point out critical sections?
Maybe using composed data might ease the situation, though I am not clear on how exactly. However, as we are still on an older A12 version, we don’t think that this is a short-term solution for us.
Reproduction
I attached the models (A12 2023.06.2.0) and a document.
Models:
BeleglisteAusgaben.json (187.8 KB)
DomainBedingungen.json (43.6 KB)
DomainBeleglisteAusgaben.json (378.7 KB)
DomainKalkulationshilfen.json (44.1 KB)
Kalkulationshilfen.json (15.0 KB)
Document:
beleglisteGross.json (995.9 KB)
Steps
- Start SME and load models
- Start Form Model Preview for BeleglisteAusgaben
- Import From File > beleglisteGross.json
- Navigate to “Neuer Beleg” and open repeat detail screen
- Fill fields in repeat detail screen