This is an automated email from the ASF dual-hosted git repository.

chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory.git


The following commit(s) were added to refs/heads/main by this push:
     new 6ac8093f3 chore(java): move java benchmark to bench dir (#3152)
6ac8093f3 is described below

commit 6ac8093f37d800e60699301fbe53c5e1f116f0e5
Author: Shawn Yang <[email protected]>
AuthorDate: Thu Jan 15 14:49:27 2026 +0800

    chore(java): move java benchmark to bench dir (#3152)
    
    ## Why?
    
    
    
    ## What does this PR do?
    
    
    
    ## Related issues
    
    
    
    ## Does this PR introduce any user-facing change?
    
    
    
    - [ ] Does this PR introduce any public API change?
    - [ ] Does this PR introduce any binary protocol compatibility change?
    
    ## Benchmark
---
 .gitattributes                                         |  3 ++-
 CONTRIBUTING.md                                        |  2 +-
 LICENSE                                                | 16 ++++++++--------
 README.md                                              |  2 +-
 .../benchmark => benchmarks/java_benchmark}/README.md  |  6 +++---
 .../benchmark => benchmarks/java_benchmark}/analyze.py |  0
 .../java_benchmark}/plot_map_benchmark.py              |  0
 {java/benchmark => benchmarks/java_benchmark}/pom.xml  |  2 +-
 .../benchmark => benchmarks/java_benchmark}/runtest.sh |  0
 .../java_benchmark}/runtest_jdk11.sh                   |  0
 .../java/org/apache/fory/benchmark/ArraySuite.java     |  0
 .../main/java/org/apache/fory/benchmark/Benchmark.java |  0
 .../org/apache/fory/benchmark/CollectionSuite.java     |  0
 .../org/apache/fory/benchmark/CompressStringSuite.java |  0
 .../java/org/apache/fory/benchmark/CopyBenchmark.java  |  0
 .../java/org/apache/fory/benchmark/Identity2IdMap.java |  0
 .../fory/benchmark/IntsDeserializationSuite.java       |  0
 .../apache/fory/benchmark/IntsSerializationSuite.java  |  0
 .../fory/benchmark/LongStringDeserializationSuite.java |  0
 .../fory/benchmark/LongStringSerializationSuite.java   |  0
 .../fory/benchmark/LongsDeserializationSuite.java      |  0
 .../apache/fory/benchmark/LongsSerializationSuite.java |  0
 .../apache/fory/benchmark/MapSerializationSuite.java   |  0
 .../main/java/org/apache/fory/benchmark/MapSuite.java  |  0
 .../java/org/apache/fory/benchmark/MemorySuite.java    |  0
 .../apache/fory/benchmark/NewJava11StringSuite.java    |  0
 .../java/org/apache/fory/benchmark/NewStringSuite.java |  0
 .../main/java/org/apache/fory/benchmark/RowSuite.java  |  0
 .../fory/benchmark/StringDeserializationSuite.java     |  0
 .../fory/benchmark/StringSerializationSuite.java       |  0
 .../org/apache/fory/benchmark/StructBenchmark.java     |  0
 .../org/apache/fory/benchmark/ThreadPoolForySuite.java |  0
 .../fory/benchmark/UserTypeDeserializeSuite.java       |  0
 .../apache/fory/benchmark/UserTypeSerializeSuite.java  |  2 +-
 .../java/org/apache/fory/benchmark/ZeroCopySuite.java  |  0
 .../fory/benchmark/data/ComparableByteArray.java       |  0
 .../fory/benchmark/data/CustomJDKSerialization.java    |  0
 .../main/java/org/apache/fory/benchmark/data/Data.java |  0
 .../java/org/apache/fory/benchmark/data/Image.java     |  0
 .../java/org/apache/fory/benchmark/data/Media.java     |  0
 .../org/apache/fory/benchmark/data/MediaContent.java   |  0
 .../java/org/apache/fory/benchmark/data/Sample.java    |  0
 .../fory/benchmark/data/SerializableByteBuffer.java    |  0
 .../java/org/apache/fory/benchmark/data/Struct.java    |  0
 .../apache/fory/benchmark/state/BenchmarkState.java    |  0
 .../org/apache/fory/benchmark/state/BufferType.java    |  0
 .../java/org/apache/fory/benchmark/state/Example.java  |  0
 .../apache/fory/benchmark/state/FlatBuffersState.java  |  0
 .../org/apache/fory/benchmark/state/ForyState.java     |  0
 .../java/org/apache/fory/benchmark/state/FstState.java |  0
 .../org/apache/fory/benchmark/state/HessionState.java  |  0
 .../java/org/apache/fory/benchmark/state/JDKState.java |  0
 .../org/apache/fory/benchmark/state/JsonbState.java    |  0
 .../org/apache/fory/benchmark/state/KryoState.java     |  0
 .../org/apache/fory/benchmark/state/MsgpackState.java  |  0
 .../org/apache/fory/benchmark/state/ObjectType.java    |  0
 .../apache/fory/benchmark/state/ProtoBuffersState.java |  0
 .../apache/fory/benchmark/state/ProtostuffState.java   |  0
 .../java/org/apache/fory/benchmark/state/bench.fbs     |  0
 .../apache/fory/benchmark/state/generated/FBSBar.java  |  0
 .../apache/fory/benchmark/state/generated/FBSFoo.java  |  0
 .../fory/benchmark/state/generated/FBSImage.java       |  0
 .../fory/benchmark/state/generated/FBSMedia.java       |  0
 .../benchmark/state/generated/FBSMediaContent.java     |  0
 .../fory/benchmark/state/generated/FBSPlayer.java      |  0
 .../fory/benchmark/state/generated/FBSSample.java      |  0
 .../apache/fory/benchmark/state/generated/FBSSize.java |  0
 .../org/apache/fory/benchmark/util/MsgpackUtil.java    |  3 +--
 .../apache/fory/benchmark/ArrayCompressionSuite.java   |  0
 .../fory/benchmark/state/FlatBuffersStateTest.java     |  0
 .../java/org/apache/fory/benchmark/state/JsonTest.java |  0
 .../fory/benchmark/state/ProtoBuffersStateTest.java    |  0
 .../fory/benchmark/state/ProtobufSerializerTest.java   |  0
 ci/format.sh                                           |  3 ++-
 ci/release.py                                          |  2 +-
 ci/run_ci.sh                                           |  2 +-
 ci/tasks/java.py                                       |  2 +-
 docs/README.md                                         |  2 +-
 integration_tests/graalvm_tests/pom.xml                |  2 +-
 integration_tests/jdk_compatibility_tests/pom.xml      |  2 +-
 integration_tests/jpms_tests/pom.xml                   |  2 +-
 integration_tests/latest_jdk_tests/pom.xml             |  2 +-
 java/fory-core/pom.xml                                 |  2 +-
 .../java/org/apache/fory/resolver/MapRefResolver.java  |  5 ++---
 .../java/org/apache/fory/resolver/MetaContext.java     |  2 +-
 java/fory-extensions/pom.xml                           |  2 +-
 java/fory-format/pom.xml                               |  2 +-
 java/fory-graalvm-feature/pom.xml                      |  2 +-
 java/fory-simd/pom.xml                                 |  2 +-
 java/fory-test-core/pom.xml                            |  2 +-
 java/fory-testsuite/pom.xml                            |  2 +-
 java/pom.xml                                           |  2 +-
 kotlin/pom.xml                                         |  2 +-
 licenserc.toml                                         | 18 +++++++++---------
 scala/build.sbt                                        |  2 +-
 95 files changed, 50 insertions(+), 50 deletions(-)

diff --git a/.gitattributes b/.gitattributes
index 8dbf011d3..b100d82b6 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,2 @@
-java/benchmark export-ignore
+benchmarks export-ignore
+integration_tests export-ignore
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index aa3410145..8dc93732b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -21,7 +21,7 @@ For example, here are good PR titles:
 
 If the submitted PR affects the performance of Apache Fory™, we strongly 
recommend using the perf type,
 and need to provide benchmark data in the PR description. For how to run the 
benchmark,
-please check [Apache Fory™ Java 
Benchmark](https://github.com/apache/fory/blob/main/java/benchmark/README.md).
+please check [Apache Fory™ Java 
Benchmark](https://github.com/apache/fory/blob/main/benchmarks/java_benchmark/README.md).
 
 For more details, please check [pr-lint.yml](./.github/workflows/pr-lint.yml).
 
diff --git a/LICENSE b/LICENSE
index 3f7fc8158..94427d084 100644
--- a/LICENSE
+++ b/LICENSE
@@ -237,7 +237,7 @@ The text of each license is the standard Apache 2.0 license.
 
 * fast-serialization (https://github.com/RuedigerMoeller/fast-serialization)
     Files:
-      
java/benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
+      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
 
 * ray (https://github.com/ray-project/ray)
     Files:
@@ -256,13 +256,13 @@ The text of each license is also included in 
licenses/LICENSE-[project].txt.
 
 * kryo (https://github.com/EsotericSoftware/kryo)
     Files:
-      java/benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java
-      java/benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java
-      java/benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java
-      
java/benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
-      java/benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java
-      
java/benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java
-      
java/benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java
+      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java
+      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java
+      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java
+      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
+      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java
+      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java
+      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java
       
java/fory-core/src/main/java/org/apache/fory/collection/ForyObjectMap.java
       java/fory-core/src/main/java/org/apache/fory/collection/IdentityMap.java
       
java/fory-core/src/main/java/org/apache/fory/collection/IdentityObjectIntMap.java
diff --git a/README.md b/README.md
index a3a7cbded..5a464e748 100644
--- a/README.md
+++ b/README.md
@@ -141,7 +141,7 @@ For more detailed benchmarks and methodology, see [C++ 
Benchmarks](benchmarks/cp
 </dependency>
 ```
 
-Snapshots are available from `https://repository.apache.org/snapshots/` 
(version `0.14.0-SNAPSHOT`).
+Snapshots are available from `https://repository.apache.org/snapshots/` 
(version `0.15.0-SNAPSHOT`).
 
 **Scala**:
 
diff --git a/java/benchmark/README.md b/benchmarks/java_benchmark/README.md
similarity index 90%
rename from java/benchmark/README.md
rename to benchmarks/java_benchmark/README.md
index c60a30a7e..f3b0880a0 100644
--- a/java/benchmark/README.md
+++ b/benchmarks/java_benchmark/README.md
@@ -15,7 +15,7 @@ Apache Fory™ Java Benchmark contains benchmarks for:
 
 > Part of benchmark data is based on [Kryo 
 > benchmark](https://github.com/EsotericSoftware/kryo/tree/master/benchmarks).
 > Kryo benchmark suite is based on [Kryo 
 > benchmark](https://github.com/EsotericSoftware/kryo/tree/master/benchmarks).
-> The msgpack's official provides 
[msgpack-jackson](https://github.com/msgpack/msgpack-java/tree/main/msgpack-jackson)
 lib, but the performance is relatively poor. So, generate a basic [manually 
written 
code](https://github.com/apache/fory/tree/main/java/benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java)
 using qwen3(LLM). Then modify it.
+> The msgpack's official provides 
[msgpack-jackson](https://github.com/msgpack/msgpack-java/tree/main/msgpack-jackson)
 lib, but the performance is relatively poor. So, generate a basic [manually 
written 
code](https://github.com/apache/fory/tree/main/benchmarks/java_benchmarkk/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java)
 using qwen3(LLM). Then modify it.
 
 ## How to run
 
@@ -25,7 +25,7 @@ as an optional feature. So Apache Fory™ make it as an 
optional dependency and
 
 ```bash
 # Install fory
-cd ../java && mvn install -DskipTests -Dcheckstyle.skip -Dlicense.skip 
-Dmaven.javadoc.skip && cd -
+cd ../../java && mvn install -DskipTests -Dcheckstyle.skip -Dlicense.skip 
-Dmaven.javadoc.skip && cd -
 
 # build benchmark jar
 # use `-Pjmh` to download jmh dependencies, we mark it as optional
@@ -33,7 +33,7 @@ cd ../java && mvn install -DskipTests -Dcheckstyle.skip 
-Dlicense.skip -Dmaven.j
 mvn package -Pjmh
 # run benchmark
 nohup java -jar target/benchmarks.jar -f 5 -wi 3 -i 5 -t 1 -w 3s -r 5s -rf csv 
>bench.log 2>&1 &
-java -jar target/benchmarks.jar "org.apache.fory.*\.deserialize$" -f 1 -wi 1 
-i 3 -t 1 -w 2s -r 2s -rf csv -p objectType=MEDIA_CONTENT -p bufferType=array 
-p references=false
+java -jar target/benchmarks.jar "org.apache.fory.*UserTypeSerializeSuite.*" -f 
1 -wi 1 -i 1 -t 1 -w 2s -r 2s -rf csv -p objectType=MEDIA_CONTENT -p 
bufferType=array -p references=false
 ```
 
 Generate Protobuf/Flatbuffers code manually:
diff --git a/java/benchmark/analyze.py b/benchmarks/java_benchmark/analyze.py
similarity index 100%
rename from java/benchmark/analyze.py
rename to benchmarks/java_benchmark/analyze.py
diff --git a/java/benchmark/plot_map_benchmark.py 
b/benchmarks/java_benchmark/plot_map_benchmark.py
similarity index 100%
rename from java/benchmark/plot_map_benchmark.py
rename to benchmarks/java_benchmark/plot_map_benchmark.py
diff --git a/java/benchmark/pom.xml b/benchmarks/java_benchmark/pom.xml
similarity index 99%
rename from java/benchmark/pom.xml
rename to benchmarks/java_benchmark/pom.xml
index ac4eb5024..de5a26565 100644
--- a/java/benchmark/pom.xml
+++ b/benchmarks/java_benchmark/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>fory-parent</artifactId>
     <groupId>org.apache.fory</groupId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>benchmark</artifactId>
diff --git a/java/benchmark/runtest.sh b/benchmarks/java_benchmark/runtest.sh
similarity index 100%
rename from java/benchmark/runtest.sh
rename to benchmarks/java_benchmark/runtest.sh
diff --git a/java/benchmark/runtest_jdk11.sh 
b/benchmarks/java_benchmark/runtest_jdk11.sh
similarity index 100%
rename from java/benchmark/runtest_jdk11.sh
rename to benchmarks/java_benchmark/runtest_jdk11.sh
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/ArraySuite.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ArraySuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/ArraySuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ArraySuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/Benchmark.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Benchmark.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/Benchmark.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Benchmark.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/CollectionSuite.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CollectionSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/CollectionSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CollectionSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/CompressStringSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CompressStringSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/CompressStringSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CompressStringSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/CopyBenchmark.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CopyBenchmark.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/CopyBenchmark.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CopyBenchmark.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/IntsDeserializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/IntsDeserializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/IntsDeserializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/IntsDeserializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/IntsSerializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/IntsSerializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/IntsSerializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/IntsSerializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/LongStringDeserializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongStringDeserializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/LongStringDeserializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongStringDeserializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/LongStringSerializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongStringSerializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/LongStringSerializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongStringSerializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/LongsDeserializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongsDeserializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/LongsDeserializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongsDeserializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/LongsSerializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongsSerializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/LongsSerializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongsSerializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/MapSerializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MapSerializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/MapSerializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MapSerializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/MapSuite.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MapSuite.java
similarity index 100%
rename from java/benchmark/src/main/java/org/apache/fory/benchmark/MapSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MapSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/MemorySuite.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MemorySuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/MemorySuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MemorySuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/NewJava11StringSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/NewJava11StringSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/NewJava11StringSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/NewJava11StringSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/NewStringSuite.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/NewStringSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/NewStringSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/NewStringSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/RowSuite.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/RowSuite.java
similarity index 100%
rename from java/benchmark/src/main/java/org/apache/fory/benchmark/RowSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/RowSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/StringDeserializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StringDeserializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/StringDeserializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StringDeserializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/StringSerializationSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StringSerializationSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/StringSerializationSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StringSerializationSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/StructBenchmark.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StructBenchmark.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/StructBenchmark.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StructBenchmark.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/ThreadPoolForySuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ThreadPoolForySuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/ThreadPoolForySuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ThreadPoolForySuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/UserTypeDeserializeSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeDeserializeSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/UserTypeDeserializeSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeDeserializeSuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
similarity index 97%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
index f7f836bb7..adc0e8400 100644
--- 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
+++ 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
@@ -157,7 +157,7 @@ public class UserTypeSerializeSuite {
   public static void main(String[] args) throws IOException {
     if (args.length == 0) {
       String commandLine =
-          "org.apache.fory.*UserTypeSerializeSuite.fory -f 3 -wi 5 -i 10 -t 1 
-w 2s -r 2s -rf csv "
+          "org.apache.fory.*UserTypeSerializeSuite.fory_serialize_compatible 
-f 1 -wi 5 -i 10 -t 1 -w 200s -r 2s -rf csv "
               + "-p objectType=MEDIA_CONTENT -p bufferType=array -p 
references=false";
       System.out.println(commandLine);
       args = commandLine.split(" ");
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/ZeroCopySuite.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ZeroCopySuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/ZeroCopySuite.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ZeroCopySuite.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/ComparableByteArray.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/ComparableByteArray.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/ComparableByteArray.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/ComparableByteArray.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/CustomJDKSerialization.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/CustomJDKSerialization.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/CustomJDKSerialization.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/CustomJDKSerialization.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/SerializableByteBuffer.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/SerializableByteBuffer.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/SerializableByteBuffer.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/SerializableByteBuffer.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/data/Struct.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Struct.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/data/Struct.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Struct.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/BenchmarkState.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BenchmarkState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/BenchmarkState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BenchmarkState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/Example.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/Example.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/Example.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/Example.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/FlatBuffersState.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/FlatBuffersState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/FlatBuffersState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/FlatBuffersState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/ForyState.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ForyState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/ForyState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ForyState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/FstState.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/FstState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/FstState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/FstState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/HessionState.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/HessionState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/HessionState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/HessionState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/JDKState.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/JDKState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/JDKState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/JDKState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/JsonbState.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/JsonbState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/JsonbState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/JsonbState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/MsgpackState.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/MsgpackState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/MsgpackState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/MsgpackState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/ObjectType.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ObjectType.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/ObjectType.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ObjectType.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/ProtoBuffersState.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ProtoBuffersState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/ProtoBuffersState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ProtoBuffersState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/ProtostuffState.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ProtostuffState.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/ProtostuffState.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ProtostuffState.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/bench.fbs 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/bench.fbs
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/bench.fbs
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/bench.fbs
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSBar.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSBar.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSBar.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSBar.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSFoo.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSFoo.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSFoo.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSFoo.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSImage.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSImage.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSImage.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSImage.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMedia.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMedia.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMedia.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMedia.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMediaContent.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMediaContent.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMediaContent.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMediaContent.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSPlayer.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSPlayer.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSPlayer.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSPlayer.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSample.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSample.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSample.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSample.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSize.java
 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSize.java
similarity index 100%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSize.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSize.java
diff --git 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
similarity index 99%
rename from 
java/benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
rename to 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
index 58e1e890e..709a52e89 100644
--- 
a/java/benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
+++ 
b/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
@@ -35,8 +35,7 @@ import org.msgpack.core.MessageUnpacker;
 /**
  * The msgpack's official provides {@link <a
  * 
href="https://github.com/msgpack/msgpack-java/tree/main/msgpack-jackson";>...</a>}
 lib, but the
- * performance is relatively poor. So, generate a basic handwritten code using 
qwen3(LLM). Then
- * modify it.
+ * performance is relatively poor, so we write a fast one here.
  */
 public class MsgpackUtil {
 
diff --git 
a/java/benchmark/src/main/java17/org/apache/fory/benchmark/ArrayCompressionSuite.java
 
b/benchmarks/java_benchmark/src/main/java17/org/apache/fory/benchmark/ArrayCompressionSuite.java
similarity index 100%
rename from 
java/benchmark/src/main/java17/org/apache/fory/benchmark/ArrayCompressionSuite.java
rename to 
benchmarks/java_benchmark/src/main/java17/org/apache/fory/benchmark/ArrayCompressionSuite.java
diff --git 
a/java/benchmark/src/test/java/org/apache/fory/benchmark/state/FlatBuffersStateTest.java
 
b/benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/FlatBuffersStateTest.java
similarity index 100%
rename from 
java/benchmark/src/test/java/org/apache/fory/benchmark/state/FlatBuffersStateTest.java
rename to 
benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/FlatBuffersStateTest.java
diff --git 
a/java/benchmark/src/test/java/org/apache/fory/benchmark/state/JsonTest.java 
b/benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/JsonTest.java
similarity index 100%
rename from 
java/benchmark/src/test/java/org/apache/fory/benchmark/state/JsonTest.java
rename to 
benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/JsonTest.java
diff --git 
a/java/benchmark/src/test/java/org/apache/fory/benchmark/state/ProtoBuffersStateTest.java
 
b/benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/ProtoBuffersStateTest.java
similarity index 100%
rename from 
java/benchmark/src/test/java/org/apache/fory/benchmark/state/ProtoBuffersStateTest.java
rename to 
benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/ProtoBuffersStateTest.java
diff --git 
a/java/benchmark/src/test/java/org/apache/fory/benchmark/state/ProtobufSerializerTest.java
 
b/benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/ProtobufSerializerTest.java
similarity index 100%
rename from 
java/benchmark/src/test/java/org/apache/fory/benchmark/state/ProtobufSerializerTest.java
rename to 
benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/ProtobufSerializerTest.java
diff --git a/ci/format.sh b/ci/format.sh
index b07227595..46e806cc3 100755
--- a/ci/format.sh
+++ b/ci/format.sh
@@ -139,7 +139,8 @@ format_java() {
       cd "$ROOT/java"
       mvn -T10 --no-transfer-progress spotless:apply
       mvn -T10 --no-transfer-progress checkstyle:check
-      cd "$ROOT/java/benchmark"
+      mvn -T10 --no-transfer-progress install -DskipTests
+      cd "$ROOT/benchmarks/java_benchmark"
       mvn -T10 --no-transfer-progress spotless:apply
       cd "$ROOT/integration_tests"
       dirs=("graalvm_tests" "jdk_compatibility_tests" "latest_jdk_tests")
diff --git a/ci/release.py b/ci/release.py
index bd0560bf5..e050fa925 100644
--- a/ci/release.py
+++ b/ci/release.py
@@ -188,7 +188,7 @@ def bump_java_version(new_version):
         "integration_tests/jpms_tests",
         "integration_tests/latest_jdk_tests",
         "integration_tests/latest_jdk_tests",
-        "java/benchmark",
+        "benchmarks/java_benchmark",
         "java/fory-core",
         "java/fory-format",
         "java/fory-simd",
diff --git a/ci/run_ci.sh b/ci/run_ci.sh
index 61d7dec28..a408e7a8c 100755
--- a/ci/run_ci.sh
+++ b/ci/run_ci.sh
@@ -180,7 +180,7 @@ integration_tests() {
   cd "$ROOT"/java
   mvn -T10 -B --no-transfer-progress clean install -DskipTests
   echo "benchmark tests"
-  cd "$ROOT"/java/benchmark
+  cd "$ROOT"/benchmarks/java_benchmark
   mvn -T10 -B --no-transfer-progress clean test install -Pjmh
   echo "Start latest jdk tests"
   cd "$ROOT"/integration_tests/latest_jdk_tests
diff --git a/ci/tasks/java.py b/ci/tasks/java.py
index 9c4a0c7ac..d6abbb1d2 100644
--- a/ci/tasks/java.py
+++ b/ci/tasks/java.py
@@ -215,7 +215,7 @@ def run_integration_tests():
     )
 
     logging.info("benchmark tests")
-    common.cd_project_subdir("java/benchmark")
+    common.cd_project_subdir("benchmarks/java_benchmark")
     common.exec_cmd("mvn -T10 -B --no-transfer-progress clean test install 
-Pjmh")
 
     logging.info("Start latest jdk tests")
diff --git a/docs/README.md b/docs/README.md
index 4f80300eb..a9b9af5c9 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -15,7 +15,7 @@
 ## Benchmarks
 
 - Benchmark source code:
-  - Java: [Java Benchmarks Source](../java/benchmark)
+  - Java: [Java Benchmarks Source](../benchmarks/java_benchmark)
   - Python: [Python Benchmarks Source](../benchmarks/cpython_benchmark)
   - Rust: [Rust Benchmarks Source](../benchmarks/rust_benchmark/)
 - Benchmark result:
diff --git a/integration_tests/graalvm_tests/pom.xml 
b/integration_tests/graalvm_tests/pom.xml
index 5f094a9db..95589552e 100644
--- a/integration_tests/graalvm_tests/pom.xml
+++ b/integration_tests/graalvm_tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
     <relativePath>../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/jdk_compatibility_tests/pom.xml 
b/integration_tests/jdk_compatibility_tests/pom.xml
index 91b4df0de..a34eba492 100644
--- a/integration_tests/jdk_compatibility_tests/pom.xml
+++ b/integration_tests/jdk_compatibility_tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
     <relativePath>../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/jpms_tests/pom.xml 
b/integration_tests/jpms_tests/pom.xml
index 7f49f9116..d768fba76 100644
--- a/integration_tests/jpms_tests/pom.xml
+++ b/integration_tests/jpms_tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
     <relativePath>../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/integration_tests/latest_jdk_tests/pom.xml 
b/integration_tests/latest_jdk_tests/pom.xml
index e8e18d229..29d78b0d6 100644
--- a/integration_tests/latest_jdk_tests/pom.xml
+++ b/integration_tests/latest_jdk_tests/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
     <relativePath>../../java</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/java/fory-core/pom.xml b/java/fory-core/pom.xml
index 2cea314bc..3249a3456 100644
--- a/java/fory-core/pom.xml
+++ b/java/fory-core/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/resolver/MapRefResolver.java 
b/java/fory-core/src/main/java/org/apache/fory/resolver/MapRefResolver.java
index 850570c6e..e83b2a0e6 100644
--- a/java/fory-core/src/main/java/org/apache/fory/resolver/MapRefResolver.java
+++ b/java/fory-core/src/main/java/org/apache/fory/resolver/MapRefResolver.java
@@ -39,9 +39,8 @@ public final class MapRefResolver implements RefResolver {
   private static final boolean ENABLE_FORY_REF_PROFILING =
       "true".equalsIgnoreCase(System.getProperty("fory.enable_ref_profiling"));
 
-  // Map clean will zero all key array elements, which is unnecessary for
-  private static final int DEFAULT_MAP_CAPACITY = 4;
-  private static final int DEFAULT_ARRAY_CAPACITY = 4;
+  private static final int DEFAULT_MAP_CAPACITY = 3;
+  private static final int DEFAULT_ARRAY_CAPACITY = 3;
   // use average size to amortise resize/clear cost.
   // exponential smoothing can't reflect overall reference size, thus not
   // suitable for amortization.
diff --git 
a/java/fory-core/src/main/java/org/apache/fory/resolver/MetaContext.java 
b/java/fory-core/src/main/java/org/apache/fory/resolver/MetaContext.java
index e0412553b..5a99e6597 100644
--- a/java/fory-core/src/main/java/org/apache/fory/resolver/MetaContext.java
+++ b/java/fory-core/src/main/java/org/apache/fory/resolver/MetaContext.java
@@ -30,7 +30,7 @@ import org.apache.fory.meta.ClassDef;
  */
 public class MetaContext {
   /** Classes which has sent definitions to peer. */
-  public final IdentityObjectIntMap<Class<?>> classMap = new 
IdentityObjectIntMap<>(8, 0.4f);
+  public final IdentityObjectIntMap<Class<?>> classMap = new 
IdentityObjectIntMap<>(1, 0.5f);
 
   /** Class definitions read from peer. */
   public final ObjectArray<ClassDef> readClassDefs = new ObjectArray<>();
diff --git a/java/fory-extensions/pom.xml b/java/fory-extensions/pom.xml
index 4b6ba7e77..25a30bf1c 100644
--- a/java/fory-extensions/pom.xml
+++ b/java/fory-extensions/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-format/pom.xml b/java/fory-format/pom.xml
index 58dd2e954..7667a651c 100644
--- a/java/fory-format/pom.xml
+++ b/java/fory-format/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-graalvm-feature/pom.xml 
b/java/fory-graalvm-feature/pom.xml
index c6c7b927c..50c63f5d7 100644
--- a/java/fory-graalvm-feature/pom.xml
+++ b/java/fory-graalvm-feature/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>fory-parent</artifactId>
     <groupId>org.apache.fory</groupId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
diff --git a/java/fory-simd/pom.xml b/java/fory-simd/pom.xml
index e63a2e93e..7dabd430a 100644
--- a/java/fory-simd/pom.xml
+++ b/java/fory-simd/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-parent</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
   </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-test-core/pom.xml b/java/fory-test-core/pom.xml
index 4863c10eb..74a1b036f 100644
--- a/java/fory-test-core/pom.xml
+++ b/java/fory-test-core/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>fory-parent</artifactId>
     <groupId>org.apache.fory</groupId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/fory-testsuite/pom.xml b/java/fory-testsuite/pom.xml
index d584849b8..491679e57 100644
--- a/java/fory-testsuite/pom.xml
+++ b/java/fory-testsuite/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>fory-parent</artifactId>
     <groupId>org.apache.fory</groupId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/java/pom.xml b/java/pom.xml
index 9104c3294..52c826f22 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -33,7 +33,7 @@
   <groupId>org.apache.fory</groupId>
   <artifactId>fory-parent</artifactId>
   <packaging>pom</packaging>
-  <version>0.14.0-SNAPSHOT</version>
+  <version>0.15.0-SNAPSHOT</version>
   <name>Fory Project Parent POM</name>
   <description>
     Apache Fory™ is a blazingly fast multi-language serialization framework 
powered by jit and zero-copy.
diff --git a/kotlin/pom.xml b/kotlin/pom.xml
index b0e8dacff..188efe727 100644
--- a/kotlin/pom.xml
+++ b/kotlin/pom.xml
@@ -30,7 +30,7 @@
 
     <groupId>org.apache.fory</groupId>
     <artifactId>fory-kotlin</artifactId>
-    <version>0.14.0-SNAPSHOT</version>
+    <version>0.15.0-SNAPSHOT</version>
     <modelVersion>4.0.0</modelVersion>
 
     <properties>
diff --git a/licenserc.toml b/licenserc.toml
index b29fed1a0..2af7f8857 100644
--- a/licenserc.toml
+++ b/licenserc.toml
@@ -24,18 +24,18 @@ excludes = [
     "go/fory/tests/structs_fory_gen.go",
 
     # Generated
-    
"java/benchmark/src/main/java/org/apache/fory/benchmark/state/generated/**",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/**",
 
     # Derived
     "ci/format.sh",
-    
"java/benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java",
-    "java/benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java",
-    "java/benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java",
-    "java/benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java",
-    
"java/benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java",
-    "java/benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java",
-    
"java/benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java",
-    
"java/benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java",
+    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java",
     "java/fory-core/src/main/java/org/apache/fory/codegen/Code.java",
     
"java/fory-core/src/main/java/org/apache/fory/collection/ForyObjectMap.java",
     "java/fory-core/src/main/java/org/apache/fory/collection/IdentityMap.java",
diff --git a/scala/build.sbt b/scala/build.sbt
index 6b72ed401..6f6040093 100644
--- a/scala/build.sbt
+++ b/scala/build.sbt
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-val foryVersion = "0.14.0-SNAPSHOT"
+val foryVersion = "0.15.0-SNAPSHOT"
 val scala213Version = "2.13.15"
 ThisBuild / apacheSonatypeProjectProfile := "fory"
 version := foryVersion


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to