adoptium / adoptium/bumblebench

DigestBench and HMACBench taking too long to run

Open
#19 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
27
Forks
32
PR merge metrics
No merged PRs in 30d

Description

### Problem Description

DigestBench and HMACBench seem to take forever to run. Benchmarks in BumbleBench usually take less than 2 mins. I had to abort DigestBench run after it kept running for 1 hr 45 min, generating an extremely large output (> 3 GB) as shown in the screenshots below. HMACBench behaves in a similar way.

I'm trying to add these BumbleBench targets for testing at Adopt as part of AdoptOpenJDK/openjdk-tests#1379.

![image](https://user-images.githubusercontent.com/10422081/68053735-1143f780-fcc3-11e9-86c6-23dcd6205727.png)

![image](https://user-images.githubusercontent.com/10422081/68053848-5700c000-fcc3-11e9-9327-ccc606be942a.png)

### Console Output

```
13:55:45 ===============================================
13:55:45 Running test bumbleBench-DigestBench_0 ...
13:55:45 ===============================================
13:55:45 bumbleBench-DigestBench_0 Start Time: Fri Nov 1 13:55:43 2019 Epoch Time (ms): 1572630943888
13:55:45 "/java/jenkins/workspace/Piyush-Grinder/openjdkbinary/j2sdk-image/bin/java" -Xshareclasses:destroyAll; "/java/jenkins/workspace/Piyush-Grinder/openjdkbinary/j2sdk-image/bin/java" -Xshareclasses:groupAccess,destroyAll; echo "cache cleanup done";
13:55:45 JVMSHRC005I No shared class caches available
13:55:45 JVMSHRC005I No shared class caches available
13:55:45 cache cleanup done
13:55:45 variation: NoOptions
13:55:45 JVM_OPTIONS: -Xcompressedrefs
13:55:45 { itercnt=1; \
13:55:45 mkdir -p "/java/jenkins/workspace/Piyush-Grinder/openjdk-tests/TestConfig/../TestConfig/test_output_15726308899881/bumbleBench-DigestBench_0"; \
13:55:45 cd "/java/jenkins/workspace/Piyush-Grinder/openjdk-tests/TestConfig/../TestConfig/test_output_15726308899881/bumbleBench-DigestBench_0"; \
13:55:45 "/java/jenkins/workspace/Piyush-Grinder/openjdkbinary/j2sdk-image/bin/java" -jar /java/jenkins/workspace/Piyush-Grinder/openjdk-tests/TestConfig/../../jvmtest/perf/bumbleBench/bumblebench/BumbleBench.jar DigestBench; \
13:55:45 if [ $? -eq 0 ] ; then echo ""; echo "bumbleBench-DigestBench_0""_PASSED"; echo ""; cd /java/jenkins/workspace/Piyush-Grinder/openjdk-tests/TestConfig/..; else echo ""; echo "bumbleBench-DigestBench_0""_FAILED"; echo ""; fi; } 2>&1 | tee -a "/java/jenkins/workspace/Piyush-Grinder/openjdk-tests/TestConfig/../TestConfig/test_output_15726308899881/TestTargetResult";
13:55:45 Using Provider SUN
13:55:45 Payload size: 4096 bytes
13:55:45
13:55:45 -= BumbleBench series 7 version 5.10 running DigestBench Fri Nov 01 13:55:44 EDT 2019 =-
13:55:45
13:55:45 Target Est Uncert% MaxPeak Peak Peak% %paused
13:55:45 0.0s: < 110 100 12.0 -inf -inf --
13:55:45 0.0s:

Contributor guide

Open the contributing guide

Research direction

Start with the DigestBench and HMACBench targets in perf/bumbleBench/playlist.xml, then reproduce them through the Adopt Grinder using the BumbleBench.jar command shown in the console output. Compare their runtime and output with the reported behavior; done means both benchmarks complete without requiring an abort or generating several gigabytes of output.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.