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

For every release of LemonTree, we run a set of tests with different test-models to examine the change of both the memory consumption and the total diff/merge times.

This page shows the results of these tests. 

As shown by the test results, our goal is to continuously both improve the performance and decrease the memory consumption of LemonTree.

Nevertheless, changes to the supported feature-set may impact both performance and memory consumption negatively. The Remarks section under the test results notes such changes.

Environment

Our test machine has the following setup:

  • Operating System: Windows 10 (64 Bit)
  • Processor: i7-6700HQ CPU @2.60 GHz
  • Memory: 16 GB

Test Case Description

The test results provided on this page are based on a fixed set of test models, which we diff with every released version of LemonTree.

Details on the used test models can be found here:

Test Case Description

Measurement Methods

To understand the measurement methods we have used to compile this data or conduct measurements on your own model for a comparison, please refer to this page:

Measurement Methods

By applying our measurement methods to your own models, you can calculate comparison values to approximate how LemonTree will perform for your models based on the data below.

Test results

Small Model
LT VersionImpacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.4 (latest release)2366s2s1s247 MB
2.6.32368s2s1s233 MB
2.6.22366s1s1s254 MB
2.6.12367s1s1s237 MB
2.62364s1s1s242 MB
2.52368s1s1s255 MB
2.4.123619s1s1s463 MB
2.423619s1s1s300 MB
2.323620s1s1s297 MB
2.223618s1s1s292 MB
2.1.423613s1s1s263 MB
2.1.323613s1s1s265 MB
2.1.02669s1s1s

257 MB

2.026622s1s1s

257 MB

Medium Model
LT VersionImpacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.4 (latest release)1.1053991m45s14s18s5.400 MB
2.6.31.1053992m12s16s6s5,301 MB
2.6.21.1053991m48s14s5s5.165 MB
2.6.11.1053992m17s15s9s4.988 MB
2.61.1053991m51s18s7s5.436 MB
2.51.1053991m52s17s6s4.937 MB
2.4.11.0933892m10s19s15s5.940 MB
2.41.09338952m07s19s17s5.908 MB
2.31.0293872m17s13s14s5.928 MB
2.21.0333862m23s13s20s6.184 MB
2.1.41.0283861m57s32s12s5.595 MB
2.1.31.0283861m51s36s13s5.630 MB
2.11.1843861m45s23s21s5.980 MB
2.01.1843862m16s20s1m5.454 MB
Large Model

Impacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.4 (latest release)68.5476.9792m16s7m55s23m34s11.408 MB
2.6.368.5476.9792m11s7m57s17m24s11.447 MB
2.6.268.5476.9792m14s7m41s17m35s11.135 MB
2.6.168.54796.9792m18s7m46s22m42s11.374 MB
2.668.5466.9792m35s9m41s24m02s11.605 MB
2.568.5466.9792m21s8m26s19m10s11.237 MB
2.4.168.5426.9792m30s10m4s27m57s11.750 MB
2.468.5426.9792m52s10m49s24m14s11.809 MB
2.368.5496.9793m13s18m13s29m14s410.548 MB
2.2.068.5486.9792m09s7m55s21m53s10.486 MB
2.1.468.5486.9792m22s17m58s22m38s10.011 MB
2.1.368.5446.9792m21s18m2s23m26s9.888 MB
2.175.5236.9792m47s14m19s24m16s9.406 MB
2.0

2m30s15m49m9.525 MB
EAExample

Impacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.4 (latest release)4.8335649s15s3m19s746 MB
2.6.34.83356410s13s3m20s726 MB
2.6.24.8335649s12s3m18s770 MB
2.6.14.83356410s13s3m14s775 MB
2.64.8335648s12s3m15s750 MB
2.54.83356410s17s3m37s747 MB
2.4.14.71956421s14s5m12s774 MB
2.44.71956422s16s4m59s826 MB
2.35.01956422s16s4m57s841 MB
2.2.05.01856419s14s4m53s805 MB
2.0.0

23s10s7m13s764 MB
2.1.45.10256413s32s4m44s789 MB
2.1.35.10256412s36s4m30s782 MB
2.1.05.66656413s28s4m57s738 MB
Tagged Value Model

Impacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.4 (latest release)5.9632631m28s27s5m46s3.552 MB
2.6.35.9632631m19s50s4m15s4.558 MB
2.6.25.9632631m26s27s3m18s4.313 MB
2.6.15.9632631m30s26s3m16s4.257 MB
2.65.9632631m18s24s3m18s4.256 MB
2.55.9642881m24s32s3m39s3.839 MB
2.4.15.9632632m22s29s3m53s5.091 MB
2.45.9632632m1725s4m12s4.266 MB
2.35.9612631m47s33s4m10s4.073 MB
2.2.05.9612631m46s31s3m57s4.541 MB
2.1.45.9612631m19s59s3m54s4.359 MB
2.1.35.9602631m18s1m25s3m57s4.428 MB
2.16.1072631m52s1m2m39s3.040 MB
2.06.1132631m52s1m5m54s4.219 MB
TV Model (Triple Size)

Impacted elementsImpacted diagrams1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.4 (latest release)17.8717903m31s1m20s17m39s9.662 MB
2.6.317.8717903m31s2m28s13m54s10.839 MB
2.6.217.8717903m56s1m15s10m14s9.156 MB
2.6.117.8717903m38s1m18s10m13s9.701 MB9
2.617.8717903m29s1m29s10m29s9.165 MB
2.517.871

790

3m44s1m46s10m57s8.875 MB
2.4.117.8717906m35s1m41s13m20s9.040 MB
2.417.8717906m46s1m32s14m41s9.420 MB
2.317.8697904m16s1m29s12m23s8.589 MB
2.2.017.8697904m40s1m18s11m56s8.496 MB
2.1.417.86927904m45s2m58s11m27s8.685 MB
2.1.317.86817904m25s4m23s12m58s9.290 MB
2.118.3167907m19s3m21s13m9s8.000 MB

Remarks

1: Impacted Elements are reduced because we removed the Diagrams from the "Impacted Elements List".

2: 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.

3: LemonTree 2.2.2 also diffs Default Diagram

4: The test environment got a disc encryption since the last performance tests. We assume that's why the large models take longer on writing/loading. Older versions of LemonTree now also need longer with that models on writing.

5: LemonTree 2.4 diffs "CreatedDate" and "ModifiedDate". Also Stereotype handling is now different.

6: LemonTree 2.5 also diffs Scripts

7: LemonTree 2.5 detects more differences in Pos (0 vs "").

8: LemonTree 2.6 Version 2.6.0 has increased the performance of diffing and merging, but consumes more memory than version 2.5.0. This had a quite severe impact on the performance results
for our "Large Model" performance test, as it was approaching the cap of available memory for the test machine, which lead to page swapping. 

9: LemonTree 2.6.1 processes all previously unhandled custom properties of elements

10: LemonTree 2.6.4 has resolved issues affecting the memory consumption and the pre-merge times introduced in version 2.6.3, reducing both of those values back to values comparable to version 2.6.2.
However, this version also (re-)introduces the merging of ZOrder values in diagrams, which significantly impacts the merge time for diffs with changes to a significant number of large diagrams. 


  • No labels