netceteragroup / skele

Architectural framework that assists building data-driven apps with React or React Native.
MIT License
163 stars 32 forks source link

Optimize read access to Registries #116

Closed ognen closed 6 years ago

ognen commented 6 years ago

The current implementation of the Registry classes uses a naive Map as backing store, using composite keys (lists of strings). This has shown as a performance bottle-neck on older mobile devices which affects overall performance significantly as uiFor is in heavy use and it reads the registries constantly. This is especially impactful if the application uses composite element kinds with more than a few entries.

ognen commented 6 years ago

Benchmarks of the old vs. new implementation can be seen in 65ff9bda89547ada6fdcc02ac60c7f3da2aac9ff (run tests on that commit)