We run tests with different releases of LemonTree against different test-models to examine the improvement of the memory usage and performance.
This page gives an overview of the performance and memory usage and describes the test-models.
Performance and memory usage are continually improved in LemonTree.
Win10, 16GB RAM i7-6700HQ CPU @2.60 GHz, 64 BIT |
We have different test setups which run against the recent releases of LemonTree.
These models are the example models which come with the LemonTree installation.
A larger model which is diffed in a 3-way comparison. There are changes in A (respective to Base) and B (respective to Base). This test-case can be regarded as standard use-case for LemonTree, when used with models that are under version control (GIT, SVN).
A really large model with a lot changes and even more elements to be checked by LemonTree. This is quite challenging for LemonTree. In a 2-way comparison Model A is also regarded as Base model.
When comparing an empty model with another model the diff results in a lot of new objects which leads to special challenges for LemonTree. In older versions of LemonTree (< 1.5) this was not successful within the test environment.
TaggedValues needed a lot of RAM in older versions of LemonTree (<1.8).
Test Name | Version | File size | Total packages | Total diagrams | Total elements | Total connectors | Total TaggedValues* | Description |
---|---|---|---|---|---|---|---|---|
Small Model | Base | 3 MB | 6 | 17 | 202 | 152 | 242 | |
A | 3 MB | 6 | 17 | 205 | 154 | 242 | ||
B | 3 MB | 6 | 17 | 203 | 153 | 242 | ||
Medium Model | Base | 128 MB | 758 | 2.038 | 21.922 | 26.075 | 88.326 | |
A | 128 MB | 739 | 1.988 | 21.685 | 25.594 | 88.810 | ||
B | 133 MB | 739 | 1.987 | 21.670 | 25.568 | 88.331 | ||
Large Model | Base | 233 MB | 8.490 | 6.733 | 114.962 | 69.652 | 32.788 | same as A |
A | 233 MB | 8.490 | 6.733 | 114.962 | 69.652 | 32.788 | same as Base | |
B | 195 MB | 8.059 | 6.252 | 107.111 | 64.345 | 29.157 | ||
EaExample | Base | 1,4 MB | 1 | 0 | 0 | 0 | 0 | empty model |
A | 1,4 MB | 1 | 0 | 0 | 0 | 0 | empty model | |
B | 20 MB | 427 | 564 | 4.656 | 2.623 | 29.460 | ||
TV Model | Base | 142 MB | 338 | 909 | 46.380 | 22.819 | 316.458 | same as A |
A | 142 MB | 338 | 909 | 46.380 | 22.819 | 316.458 | same as Base | |
B | 152 MB | 347 | 982 | 50.810 | 27.289 | 336.759 |
* Total Tagged Values are calculated via SQLs in EA:
select count(*) from t_attributetag UNION
select count(*) from t_connectortag UNION
select count(*) from t_operationtag UNION
select count(*) from t_taggedvalue UNION
select count(*) from t_objectproperties
Test name | LT Version | 1) Loading models | 2) Diff & Merge calculation | 3) Writing merge file | Max RAM usage |
---|---|---|---|---|---|
Small Model | 1.5.5.0 | 22s | 0.5s | 3s | 250 MB |
1.7.2 | 20s | 1s | 2s | 284 MB | |
1.8.0 | 26s | 1s | 1s | 284 MB | |
2.0.0 | 22s | 1s | 1s | 257 MB | |
2.1.0 | 9s | 1s | 1s | 257 MB | |
2.1.3 | 13s | 1s | 1s | 265 MB | |
2.1.4 | 13s | 1s | 1s | 263 MB | |
2.2.0 | 18s | 1s | 1s | 292 MB | |
LT Version | 1) Loading models | 2) Diff & Merge calculation | 3) Writing merge file | Max RAM usage | |
Medium model | 1.5.5.0 | 2m | 15s | 4m42s | 6.500 MB |
1.7.2 | 2m18s | 40s | 40s | 7.200 MB | |
1.8.0 | 2m20s | 28s | 33s | 6.869 MB | |
2.0.0 | 2m16s | 20s | 1m | 5.454 MB | |
2.1.0 | 1m45s | 23s | 21s | 5.980 MB | |
2.1.3 | 1m51s | 36s | 13s | 5.630 MB | |
2.1.4 | 1m57s | 32s | 12s | 5.595 MB | |
2.2.0 | 2m23s | 13s | 20s | 6.184 MB | |
1) Loading models | 2) Diff & Merge calculation | 3) Writing merge file | Max RAM usage | ||
Large model | 1.5.5.0 | 2m30s | 37m | 68m | 9.100 MB |
1.7.2 | 2m45s | 25m | 37m | 10.100 MB | |
1.8.0 | 2m30s | 20m | 39m | 9.550 MB | |
2.0.0 | 2m30s | 15m | 49m | 9.525 MB | |
2.1.0 | 2m47s | 14m19s | 24m16s | 9.406 MB | |
2.1.3 | 2m21s | 18m2s | 23m26s | 9.888 MB | |
2.1.4 | 2m22s | 17m58s | 22m38s | 10.011 MB | |
2.2.0 | 2m09s | 7m55s | 21m53s | 10.486 MB | |
1) Loading models | 2) Diff & Merge calculation | 3) Writing merge file | Max RAM usage | ||
EAExample | 1.5.5.0 | 25s | 25s | 15m40s | 770 MB |
1.7.2 | 26s | 60s | 6m | 980 MB | |
1.8.0 | 21s | 28s | 7m20s | 590 MB | |
2.0.0 | 23s | 10s | 7m13s | 764 MB | |
2.1.0 | 13s | 28s | 4m57s | 738 MB | |
2.1.3 | 12s | 36s | 4m30s | 782 MB | |
2.1.4 | 13s | 32s | 4m44s | 789 MB | |
2.2.0 | 19s | 14s | 4m53s | 805 MB | |
1) Loading models | 2) Diff & Merge calculation | 3) Writing merge file | Max RAM usage | ||
TV Model | 1.5.5 | 2m | 1m10s | 13m10s | 5.500 MB |
1.7.2 | 3m10s | 11m11s | 6m10s | 6.708 MB | |
1.8.0 | 1m39 | 1m18s | 6m7s | 3.933 MB | |
2.0.0 | 1m52s | 1m | 5m54s | 4.219 MB | |
2.1.0 | 1m52s | 1m | 2m39s | 3.040 MB | |
2.1.3 | 1m18s | 1m25s | 3m57s | 4.428 MB | |
2.1.4 | 1m19s | 59s | 3m54s | 4.359 MB | |
2.2.0 | 1m46s | 31s | 3m57s | 4.541 MB |