Performance - lengyela89/sirius-incremental-refresh GitHub Wiki
On this page, the comparison of the Sirius' current refresh solution and the incremental refresh solution will be described in terms of performance. We measured every case five times, and took the average of the results. This values will be seen on the diagrams below.
The table below shows the main properties of the semantic model and the size of the derived sirius notation model. The used semantic model was created by copying the content of the root element multiple (1x, 10x, 25x, ...) times.
Semantic model | # EObjects | # EReferences | # EObjects (Sirius notation model) |
---|---|---|---|
1x | 38 | 89 | 93 |
10x | 371 | 890 | 903 |
25x | 926 | 2225 | 2253 |
50x | 1851 | 4450 | 4503 |
75x | 2776 | 6675 | 6753 |
100x | 3701 | 8900 | 9003 |
150x | 5551 | 13350 | 13503 |
200x | 7401 | 17800 | 18003 |
300x | 11101 | 26700 | 27003 |
400x | 14801 | 35600 | 36003 |
500x | 18501 | 44500 | 45003 |
750x | 27751 | 66750 | 67503 |
1000x | 37001 | 89000 | 90003 |
The first picture depicts the time which is needed for the first derivation of the sirius notation model with the different refresh techniques. As can be seen, in the case of incremental refresh, the initialization time is significantly more, than in case of the current solution. This behavior can be explained by the indexing of the model by the VIATRA incremental query engine.
The second picture depicts the time which is needed for the maintenance of the sirius notation model after the semantic model has changed. As can be seen, using the current solution the maintenance time is significantly (almost linearly) increasing with the size of the semantic model, while the incremental solution can maintain the sirius notation model in less than 5 ms independently from the size of the semantic model. It must be mentioned, that using the incremental solution, the required time by the maintenance only depends on the number of modifications on the semantic model.