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 Version1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.5 (latest release)6s1s1s233 MB
2.6.46s2s1s247 MB
2.6.38s2s1s233 MB
2.6.26s1s1s254 MB
2.6.17s1s1s237 MB
2.64s1s1s242 MB
2.58s1s1s255 MB
2.4.119s1s1s463 MB
2.419s1s1s300 MB
2.320s1s1s297 MB
2.218s1s1s292 MB
2.1.413s1s1s263 MB
2.1.313s1s1s265 MB
2.1.09s1s1s

257 MB

2.022s1s1s

257 MB

Medium Model
LT Version1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.5 (latest release)1m47s16s18s5.365 MB
2.6.41m45s14s18s5.400 MB
2.6.32m12s16s6s5,301 MB
2.6.21m48s14s5s5.165 MB
2.6.12m17s15s9s4.988 MB
2.61m51s18s7s5.436 MB
2.51m52s17s6s4.937 MB
2.4.12m10s19s15s5.940 MB
2.42m07s19s17s5.908 MB
2.32m17s13s14s5.928 MB
2.22m23s13s20s6.184 MB
2.1.41m57s32s12s5.595 MB
2.1.31m51s36s13s5.630 MB
2.11m45s23s21s5.980 MB
2.02m16s20s1m5.454 MB
Large Model

1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.5 (latest release)2m10s8m36s23m37s11.251 MB
2.6.42m16s7m55s23m34s11.408 MB
2.6.32m11s7m57s17m24s11.447 MB
2.6.22m14s7m41s17m35s11.135 MB
2.6.12m18s7m46s22m42s11.374 MB
2.62m35s9m41s24m02s11.605 MB
2.52m21s8m26s19m10s11.237 MB
2.4.12m30s10m4s27m57s11.750 MB
2.42m52s10m49s24m14s11.809 MB
2.33m13s8m13s29m14s10.548 MB
2.2.02m09s7m55s21m53s10.486 MB
2.1.42m22s17m58s22m38s10.011 MB
2.1.32m21s18m2s23m26s9.888 MB
2.12m47s14m19s24m16s9.406 MB
2.02m30s15m49m9.525 MB
EAExample

1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.5 (latest release)9s14s3m19s758 MB
2.6.49s15s3m19s746 MB
2.6.310s13s3m20s726 MB
2.6.29s12s3m18s770 MB
2.6.110s13s3m14s775 MB
2.68s12s3m15s750 MB
2.510s17s3m37s747 MB
2.4.121s14s5m12s774 MB
2.422s16s4m59s826 MB
2.322s16s4m57s841 MB
2.2.019s14s4m53s805 MB
2.0.023s10s7m13s764 MB
2.1.413s32s4m44s789 MB
2.1.312s36s4m30s782 MB
2.1.013s28s4m57s738 MB
Tagged Value Model

1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.5 (latest release)1m24s26s4m554.567 MB
2.6.41m28s27s5m46s3.552 MB
2.6.31m19s50s4m15s4.558 MB
2.6.21m26s27s3m18s4.313 MB
2.6.11m30s26s3m16s4.257 MB
2.61m18s24s3m18s4.256 MB
2.51m24s32s3m39s3.839 MB
2.4.12m22s29s3m53s5.091 MB
2.42m1725s4m12s4.266 MB
2.31m47s33s4m10s4.073 MB
2.2.01m46s31s3m57s4.541 MB
2.1.41m19s59s3m54s4.359 MB
2.1.31m18s1m25s3m57s4.428 MB
2.11m52s1m2m39s3.040 MB
2.01m52s1m5m54s4.219 MB
TV Model (Triple Size)

1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
2.6.5 (latest release)3m26s1m24s16m59s10.592 MB
2.6.43m31s1m20s17m39s9.662 MB
2.6.33m31s2m28s13m54s10.839 MB
2.6.23m56s1m15s10m14s9.156 MB
2.6.13m38s1m18s10m13s9.701 MB
2.63m29s1m29s10m29s9.165 MB
2.53m44s1m46s10m57s8.875 MB
2.4.16m35s1m41s13m20s9.040 MB
2.46m46s1m32s14m41s9.420 MB
2.34m16s1m29s12m23s8.589 MB
2.2.04m40s1m18s11m56s8.496 MB
2.1.44m45s2m58s11m27s8.685 MB
2.1.34m25s4m23s12m58s9.290 MB
2.17m19s3m21s13m9s8.000 MB

Remarks

  • The test environment got a disc encryption before the performance tests of version 2.1.3. 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.
  • 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. 
  • LemonTree 2.6.1 processes all previously unhandled custom properties of elements
  • 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