vaadin / patient-portal-demo-flow

0 stars 0 forks source link

fix: Use jamm as ObjectSizeCalculator dropped #107

Closed anssit closed 2 years ago

anssit commented 2 years ago

Description

ObjectSizeCalculator used in memory measurement tests was removed in JDK9. To run the tests on JDK11, an alternative memory measurement tool was needed.

This PR replaces ObjectSizeCalculator with "Java Agent for Memory Measurements", jamm.

Type of change

Checklist

anssit commented 2 years ago

The default G1 garbage collector in Java 11 seems to cause unstable results. Using the Parallel collector (JDK8 default) gives similar results as previously. Data from local test runs:

Java8, ObjectSizeCalculator
- Test run length 30 min 
    - ##teamcity[buildStatisticValue key='list' value='76684']
    - ##teamcity[buildStatisticValue key='editor' value='135488']
    - ##teamcity[buildStatisticValue key='analytics' value='14708']
- 8 min 30 s
    - ##teamcity[buildStatisticValue key='list' value='81376']
    - ##teamcity[buildStatisticValue key='editor' value='138080']
    - ##teamcity[buildStatisticValue key='analytics' value='18304']
- 11 min 30 s
    - ##teamcity[buildStatisticValue key='list' value='81936']
    - ##teamcity[buildStatisticValue key='editor' value='133472']
    - ##teamcity[buildStatisticValue key='analytics' value='16470']
- 12 min
    - ##teamcity[buildStatisticValue key='list' value='80560']
    - ##teamcity[buildStatisticValue key='editor' value='138296']
    - ##teamcity[buildStatisticValue key='analytics' value='19078']
- 16 min
    - ##teamcity[buildStatisticValue key='list' value='81376']
    - ##teamcity[buildStatisticValue key='editor' value='138304']
    - ##teamcity[buildStatisticValue key='analytics' value='13932']

Java8, JAMM
- 12 min
    - ##teamcity[buildStatisticValue key='list' value='81392']
    - ##teamcity[buildStatisticValue key='editor' value='134032']
    - ##teamcity[buildStatisticValue key='analytics' value='13352']
- 7 min
    - ##teamcity[buildStatisticValue key='list' value='81928']
    - ##teamcity[buildStatisticValue key='editor' value='138360']
    - ##teamcity[buildStatisticValue key='analytics' value='18800']
- 10 min 30 s
    - ##teamcity[buildStatisticValue key='list' value='87192']
    - ##teamcity[buildStatisticValue key='editor' value='139168']
    - ##teamcity[buildStatisticValue key='analytics' value='15489']

Java11, JAMM
- 28 min 30 s
    - ##teamcity[buildStatisticValue key='list' value='89652']
    - ##teamcity[buildStatisticValue key='editor' value='112276']
    - ##teamcity[buildStatisticValue key='analytics' value='4608']
- 32 min
    - ##teamcity[buildStatisticValue key='list' value='52430']
    - ##teamcity[buildStatisticValue key='editor' value='110254']
    - ##teamcity[buildStatisticValue key='analytics' value='3819']
- 29 min
    - ##teamcity[buildStatisticValue key='list' value='57812']
    - ##teamcity[buildStatisticValue key='editor' value='124518']
    - ##teamcity[buildStatisticValue key='analytics' value='6601']
- 27 min
    - ##teamcity[buildStatisticValue key='list' value='81000']
    - ##teamcity[buildStatisticValue key='editor' value='124870']
    - ##teamcity[buildStatisticValue key='analytics' value='52256'] -> FAIL!

Java11, JAMM, -XX:+UseParallelGC
- 25 min 
    - ##teamcity[buildStatisticValue key='list' value='79192']
    - ##teamcity[buildStatisticValue key='editor' value='130579']
    - ##teamcity[buildStatisticValue key='analytics' value='14443']
- 13 min 30 s
    - ##teamcity[buildStatisticValue key='list' value='80408']
    - ##teamcity[buildStatisticValue key='editor' value='136848']
    - ##teamcity[buildStatisticValue key='analytics' value='32606']
- 11 min
    - ##teamcity[buildStatisticValue key='list' value='79504']
    - ##teamcity[buildStatisticValue key='editor' value='135088']
    - ##teamcity[buildStatisticValue key='analytics' value='25955']
- 23 min
    - ##teamcity[buildStatisticValue key='list' value='80528']
    - ##teamcity[buildStatisticValue key='editor' value='136088']
    - ##teamcity[buildStatisticValue key='analytics' value='15764']