Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Optimized JDK with high compatibility and performance

License

NotificationsYou must be signed in to change notification settings

bytedance/CompoundVM

Introduction

For many legacy Java applications (e.g. using Java 8), upgrading the application tohigher version of JDK often requires costly and time-consuming project migration.

CompoundVM (CVM) is a project that aims to bring higher version JVM performance tolower version JDK. Now you can run your application with advanced JVM features withalmost zero cost to upgrade your project.

The current release enables JVM 17 on JDK 8. We aim to keep up withthe latest JVM. JVM 25 on JDK 8 is now under development.CVM has been used by a number of services in production environment.The current release supports x86_64/aarch64 on linux platforms.

CVM is developed under the same licence as the upstream OpenJDK project.

Features and Benefits

Higher version of JVM brings enhancements in garbage colleciton, JIT, etc.

  • Enhanced ParallelGC and G1GC, next generation ZGC, with higher throughput, lower latency, and less memory footprints
  • Enhanced JIT compiler, support more intrinsics with faster implementation
  • Drop-in replacement for existing JDK, easy to upgrade and rollback

Performance Results

CVM has been throughly tested on various application scenarios, including Java Microbenchmark Harness (JMH),SPECjbb2015, Flink nexmark, etc. Compared to jdk8u372, some of the performance results are as follows:

ApplicationPerformance Improvement
x86_64aarch64
JMH java.util all cases average30%44%
JMH java.util.stream all cases average45%56%
SPECjbb2015 critical-jOPS90%35%
SPECjbb2015 max-jOPS5%1%
Flink nexmark all queries average10%-

Using CVM

Option 1: Download and install

You may download a pre-built CVM from itsrelease page, and uncompress thepackage to your destination directory.

Option 2: Build from source

Recommended GCC version: 8.x, 9.x. Run the following command:make -f cvm.mk cvm8default17

For more options runmake -f cvm.mk help

After CVM is installed, command${CVM_DIR}/bin/java -version will show the following output:

openjdk version "1.8.0_382"OpenJDK Runtime Environment (build 1.8.0_382-cvm-b00)OpenJDK 64-Bit Server VM (CompoundVM 8.0.0) (build 17.0.8+0, mixed mode)

Notice the VM version, JVM 17 has been enabled in a JDK 8!

Contributing to CVM

SeeCONTRIBUTING.md

Contact Us

Scan QR code to join discussion group

qr

About

Optimized JDK with high compatibility and performance

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Contributors39


[8]ページ先頭

©2009-2025 Movatter.jp