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.

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.

3.2 Or Newer

Environment

Our test machine has the following setup:

  • Operating System: Microsoft Windows 10 Enterprise N
  • Processor: Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz, 3504 Mhz, 4 Core(s), 8 Logical Processor(s)
  • Memory: 64 GB

Test results

Small Model
LT Version1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
3.3.13s0s0s901 MB
3.3.03s0s0s740 MB
3.2.14s0s0s651 MB
3.2.03s0s0s890 MB
3.1.4

3s

0s0s947 MB
3.1.34s0s0s881 MB
Medium Model
LT Version1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
3.3.11m0s7s13s6.867 MB
3.3.01m4s8s12s6.364 MB
3.2.154s7s11s6.846 MB
3.2.01m2s7s11s6.374 MB
3.1.4

58s

7s12s6.831 MB
3.1.31m1s8s10s6.250 MB
Large Model

1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
3.3.12m14s3m38s17m31s14.924 MB
3.3.02m14s3m47s17m41s14.827 MB
3.2.12m6s3m46s16m52s15.254 MB
3.2.02m9s3m35s15m58s15.041 MB
3.1.42m10s3m32s15m50s14.986 MB
3.1.31m56s3m48s14m50s13.013 MB
EAExample

1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
3.3.19s8s2m19s1.886 MB
3.3.08s9s2m23s1.563 MB
3.2.18s7s2m19s1.573 MB
3.2.08s8s2m6s1.288 MB
3.1.47s8s2m6s1.748 MB
3.1.38s8s2m6ss1.336 MB
Tagged Value Model

1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
3.3.11m7s18s2m53s7.810 MB
3.3.01m11s14s3m5s7.799 MB
3.2.11m10s13s3m12s7.271 MB
3.2.01m6s18s2m44s7.133 MB
3.1.41m5s13s2m47s6.974 MB
3.1.31m6s13s2m46s6.764 MB
TV Model (Triple Size)

1) Loading models2) Premerge calculation3) Writing merge fileMax RAM usage
3.3.13m28s41s11m53s18.702 MB
3.3.03m13s41s11m43s19.500 MB
3.2.13m23s42s11m52s18.720 MB
3.2.03m12s49s10m15s16.919 MB
3.1.43m8s39s11m21s18.636 MB
3.1.33m12s39s10m40s17.743 MB

Remarks

The new test machine consumes significantly more memory for the "Large Model" and the "TV Model (Triple Size)" - even with LemonTree versions which have completed the same merges on the old test hardware with significantly less memory usage.
We currently assume that this is because the garbage collector isn't triggered as often on this machine because of excess available RAM - or, in layman's terms - if the RAM is available, LemonTree is going to use it. This speeds up the merge in total. However, we don't have any insight yet how much of the performance gain is due to the change in processing power, and how much is due to the additional RAM. This circumstance is still under investigation.


  • No labels