Page tree
Skip to end of metadata
Go to start of metadata


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.

Environment

Win10, 16GB RAM i7-6700HQ CPU @2.60 GHz, 64 BIT

Test description

We have different test setups which run against the recent releases of LemonTree.

1: Small model, with few changes in 3-way comparison

These models are the example models which come with the LemonTree installation.

2: Medium model with several changes in 3-way comparison

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).

3: Large model with a lot of changes in 2-way comparison

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.

4: EAExample, compared with empty 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.

5: Tagged Value model with a lot of TaggedValues in 2-way comparison

TaggedValues needed a lot of RAM in older versions of LemonTree (<1.8). 

Testmodels

Test Name

Version

File size

Total packages

Total diagrams

Total elements

Total connectors

Total TaggedValues*

Description

Small ModelBase3 MB617202152242

A3 MB617205154242

B3 MB617203153242









Medium ModelBase128 MB7582.03821.92226.07588.326

A128 MB7391.98821.68525.59488.810

B133 MB7391.98721.67025.56888.331









Large ModelBase233 MB8.4906.733114.96269.65232.788same as A

A233 MB8.4906.733114.96269.65232.788same as Base

B195 MB8.0596.252107.11164.34529.157









EaExampleBase1,4 MB10000empty model

A1,4 MB10000empty model

B20 MB4275644.6562.62329.460









TV Model
Base142 MB33890946.38022.819316.458same as A

A142 MB33890946.38022.819316.458same as Base

B152 MB34798250.81027.289336.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 results

Test name

LT Version

Impacted elements

Impacted diagrams

1) Loading models

2) Premerge calculation

3) Writing merge file

Max RAM usage

Small Model1.5.5.0

22s0.5s3s250 MB

1.7.2

20s1s2s284 MB

1.8.0

26s1s1s284 MB

2.0.026622s1s1s

257 MB


2.1.02669s1s1s

257 MB


2.1.323*613s1s1s265 MB

2.1.423613s1s1s263 MB

LT VersionImpacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
Medium model1.5.5.0

2m15s4m42s6.500 MB

1.7.2

2m18s40s40s7.200 MB

1.8.0

2m20s28s33s6.869 MB

2.0.01.1843862m16s20s1m5.454 MB

2.1.01.1843861m45s23s21s5.980 MB

2.1.31.028*3861m51s36s13s5.630 MB

2.1.41.0283861m57s32s12s5.595 MB


Impacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
Large model1.5.5.0

2m30s37m68m9.100 MB

1.7.2

2m45s25m37m10.100 MB

1.8.0

2m30s20m39m9.550 MB

2.0.075.5286.9792m30s15m49m9.525 MB

2.1.075.5286.9792m47s14m19s24m16s9.406 MB

2.1.368.544*6.9792m21s18m2s23m26s9.888 MB

2.1.468.546**6.9792m22s17m58s22m38s10.011 MB


Impacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
EAExample1.5.5.0

25s25s15m40s770 MB

1.7.2

26s60s6m980 MB

1.8.0

21s28s7m20s

590 MB


2.0.05.66656423s10s7m13s764 MB

2.1.05.66656413s28s4m57s738 MB

2.1.35.102*56412s36s4m30s782 MB

2.1.45.10256413s32s4m44s789 MB


Impacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
TV Model
1.5.5

2m1m10s13m10s5.500 MB

1.7.2

3m10s11m11s6m10s6.708 MB

1.8.0

1m391m18s6m7s3.933 MB

2.0.06.1132631m52s1m5m54s4.219 MB

2.1.06.1132631m52s1m2m39s3.040 MB

2.1.35.960*2631m18s1m25s3m57s4.428 MB

2.1.45.961**2631m19s59s3m54s4.359 MB

*: We removed Impacted Diagrams from the "Impacted Elements List" to avoid redundancy. 

**: LemonTree improved handling of stereotypes t_stereotype vs. t_xref: In some models stereotypes are stored redundant/inconsistent. That may lead to small differences in # of impacted elements.

  • No labels