Improve form performance (tracking issue)
- Dominant language
- JavaScript
- Stars
- 550
- Forks
- 157
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 5
Description
### What should we do?
We should conduct an optimization pass for fjs, as there are some performance issues reported when dealing with large forms.
### Why should we do it?
To keep the modeling experience as fluid as possible.
Sample form available [here](https://forum.camunda.io/t/camunda-modeler-with-large-form/48076).
### Potential improvements
#### To research
- [ ] can we improve the evaluation time of FEEL ?
- [ ] can we efficiently cache the result of FEEL evaluation, and if so, would performance improve ?
- [ ] can we reduce the overall number of re-renders by using signals ?
#### To implement
- [x] minimize the number of recalculations of the feel data context (shipped via #808)
- [x] https://github.com/bpmn-io/form-js/issues/958
Contributor guide
Research direction
Start with the linked large-form sample and review the remaining unchecked questions around FEEL evaluation, caching evaluation results, and reducing re-renders with signals. Check the completed work in #808 and #958 to avoid duplicating it. Done means identifying and implementing measurable improvements for large forms, with performance results recorded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100