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 64dd156fb refactor(benchmarks): rename benchmark directories and 
update links (#3398)
64dd156fb is described below

commit 64dd156fbb158eb4c33f6c62ae3f39796a074871
Author: Shawn Yang <[email protected]>
AuthorDate: Tue Feb 24 12:37:02 2026 +0800

    refactor(benchmarks): rename benchmark directories and update links (#3398)
    
    ## 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
---
 AGENTS.md                                              |  4 ++--
 CONTRIBUTING.md                                        |  2 +-
 LICENSE                                                | 16 ++++++++--------
 README.md                                              |  6 +++---
 benchmarks/{cpp_benchmark => cpp}/CMakeLists.txt       |  0
 benchmarks/{cpp_benchmark => cpp}/README.md            |  4 ++--
 benchmarks/{cpp_benchmark => cpp}/benchmark.cc         |  0
 benchmarks/{cpp_benchmark => cpp}/benchmark_report.py  |  2 +-
 benchmarks/{cpp_benchmark => cpp}/profile.sh           |  0
 benchmarks/{cpp_benchmark => cpp}/run.sh               |  0
 benchmarks/{go_benchmark => go}/README.md              |  2 +-
 benchmarks/{go_benchmark => go}/benchmark_report.py    |  0
 benchmarks/{go_benchmark => go}/benchmark_test.go      |  2 +-
 benchmarks/{go_benchmark => go}/go.mod                 |  2 +-
 benchmarks/{go_benchmark => go}/go.sum                 |  0
 benchmarks/{go_benchmark => go}/models.go              |  0
 benchmarks/{go_benchmark => go}/proto_convert.go       |  2 +-
 benchmarks/{go_benchmark => go}/run.sh                 |  2 +-
 benchmarks/{java_benchmark => java}/README.md          |  2 +-
 benchmarks/{java_benchmark => java}/analyze.py         |  0
 .../{java_benchmark => java}/plot_map_benchmark.py     |  0
 benchmarks/{java_benchmark => java}/pom.xml            |  0
 benchmarks/{java_benchmark => java}/runtest.sh         |  0
 benchmarks/{java_benchmark => java}/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  |  0
 .../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    |  0
 .../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
 benchmarks/{cpython_benchmark => python}/README.md     |  0
 .../{cpython_benchmark => python}/fory_benchmark.py    |  0
 benchmarks/{rust_benchmark => rust}/Cargo.toml         |  0
 benchmarks/{rust_benchmark => rust}/README.md          |  0
 .../benches/buffer_read_bench.rs                       |  0
 .../benches/buffer_write_bench.rs                      |  0
 .../benches/serialization_bench.rs                     |  0
 .../{rust_benchmark => rust}/benches/threaded_bench.rs |  0
 .../{rust_benchmark => rust}/benchmark_report.py       |  0
 benchmarks/{rust_benchmark => rust}/build.rs           |  0
 .../{rust_benchmark => rust}/proto/complex.proto       |  0
 benchmarks/{rust_benchmark => rust}/proto/medium.proto |  0
 .../{rust_benchmark => rust}/proto/realworld.proto     |  0
 benchmarks/{rust_benchmark => rust}/proto/simple.proto |  0
 benchmarks/{rust_benchmark => rust}/run.sh             |  0
 benchmarks/{rust_benchmark => rust}/src/lib.rs         |  0
 benchmarks/{rust_benchmark => rust}/src/main.rs        |  0
 .../{rust_benchmark => rust}/src/models/complex.rs     |  0
 .../{rust_benchmark => rust}/src/models/medium.rs      |  0
 benchmarks/{rust_benchmark => rust}/src/models/mod.rs  |  0
 .../{rust_benchmark => rust}/src/models/realworld.rs   |  0
 .../{rust_benchmark => rust}/src/models/simple.rs      |  0
 .../{rust_benchmark => rust}/src/serializers/fory.rs   |  0
 .../{rust_benchmark => rust}/src/serializers/json.rs   |  0
 .../{rust_benchmark => rust}/src/serializers/mod.rs    |  0
 .../src/serializers/protobuf.rs                        |  0
 ci/format.sh                                           |  2 +-
 ci/release.py                                          |  8 ++++----
 ci/run_ci.sh                                           |  2 +-
 ci/tasks/java.py                                       |  2 +-
 cpp/README.md                                          |  2 +-
 docs/README.md                                         |  8 ++++----
 docs/benchmarks/cpp/README.md                          |  2 +-
 docs/benchmarks/cpp/REPORT.md                          |  2 +-
 docs/benchmarks/go/benchmark_results.txt               |  4 ++--
 docs/benchmarks/rust/README.md                         |  2 +-
 go/README.md                                           |  2 +-
 licenserc.toml                                         | 18 +++++++++---------
 rust/README.md                                         |  2 +-
 126 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md
index 63a788e2c..56a3fc319 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -222,7 +222,7 @@ cargo fmt --check
 cargo doc --lib --no-deps --all-features
 
 # Run benchmarks
-cd $project_dir/benchmarks/rust_benchmark
+cd $project_dir/benchmarks/rust
 cargo bench
 ```
 
@@ -680,7 +680,7 @@ Common CI failures and fixes:
 ## PR and Benchmark Expectations
 
 - **PR titles**: Follow Conventional Commits; CI uses 
`.github/workflows/pr-lint.yml` to enforce naming.
-- **Performance changes**: Use the `perf` type and include benchmark data (see 
`benchmarks/java_benchmark/README.md`).
+- **Performance changes**: Use the `perf` type and include benchmark data (see 
`benchmarks/java/README.md`).
 
 ## Commit Message Format
 
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0e4317279..218bb648f 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/benchmarks/java_benchmark/README.md).
+please check [Apache Fory™ Java 
Benchmark](https://github.com/apache/fory/blob/main/benchmarks/java/README.md).
 
 For more details, please check [pr-lint.yml](./.github/workflows/pr-lint.yml).
 
diff --git a/LICENSE b/LICENSE
index 94427d084..62e28df76 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:
-      
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
+      
benchmarks/java/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:
-      
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
+      benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Data.java
+      benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Image.java
+      benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Media.java
+      
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
+      benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Sample.java
+      
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/BufferType.java
+      
benchmarks/java/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 a7f13b2f2..58c157f19 100644
--- a/README.md
+++ b/README.md
@@ -97,7 +97,7 @@ Fory Rust demonstrates competitive performance compared to 
other Rust serializat
 <img src="docs/benchmarks/rust/system_data.png" width="90%">
 </p>
 
-For more detailed benchmarks and methodology, see [Rust 
Benchmarks](benchmarks/rust_benchmark).
+For more detailed benchmarks and methodology, see [Rust 
Benchmarks](benchmarks/rust).
 
 ### C++ Serialization Performance
 
@@ -107,7 +107,7 @@ Fory C++ demonstrates competitive performance compared to 
protobuf c++ serializa
 <img src="docs/benchmarks/cpp/throughput.png" width="95%">
 </p>
 
-For more detailed benchmarks and methodology, see [C++ 
Benchmarks](benchmarks/cpp_benchmark).
+For more detailed benchmarks and methodology, see [C++ 
Benchmarks](benchmarks/cpp).
 
 ### Go Serialization Performance
 
@@ -117,7 +117,7 @@ Fory Go demonstrates excellent performance compared to 
other go serialization fr
 <img src="docs/benchmarks/go/benchmark_combined.png" width="95%">
 </p>
 
-For more detailed benchmarks and methodology, see [Go 
Benchmark](benchmarks/go_benchmark).
+For more detailed benchmarks and methodology, see [Go 
Benchmark](benchmarks/go).
 
 ## Installation
 
diff --git a/benchmarks/cpp_benchmark/CMakeLists.txt 
b/benchmarks/cpp/CMakeLists.txt
similarity index 100%
rename from benchmarks/cpp_benchmark/CMakeLists.txt
rename to benchmarks/cpp/CMakeLists.txt
diff --git a/benchmarks/cpp_benchmark/README.md b/benchmarks/cpp/README.md
similarity index 99%
rename from benchmarks/cpp_benchmark/README.md
rename to benchmarks/cpp/README.md
index 42c1e4cf0..72faad1e9 100644
--- a/benchmarks/cpp_benchmark/README.md
+++ b/benchmarks/cpp/README.md
@@ -43,7 +43,7 @@ Note: Protobuf is fetched automatically via CMake 
FetchContent, so no manual ins
 Run the complete benchmark pipeline (build, run, generate report):
 
 ```bash
-cd benchmarks/cpp_benchmark
+cd benchmarks/cpp
 ./run.sh
 ```
 
@@ -78,7 +78,7 @@ Examples:
 ## Building
 
 ```bash
-cd benchmarks/cpp_benchmark
+cd benchmarks/cpp
 mkdir build && cd build
 cmake -DCMAKE_BUILD_TYPE=Release ..
 cmake --build . -j$(nproc)
diff --git a/benchmarks/cpp_benchmark/benchmark.cc b/benchmarks/cpp/benchmark.cc
similarity index 100%
rename from benchmarks/cpp_benchmark/benchmark.cc
rename to benchmarks/cpp/benchmark.cc
diff --git a/benchmarks/cpp_benchmark/benchmark_report.py 
b/benchmarks/cpp/benchmark_report.py
similarity index 99%
rename from benchmarks/cpp_benchmark/benchmark_report.py
rename to benchmarks/cpp/benchmark_report.py
index 0d6eb4204..a048af352 100644
--- a/benchmarks/cpp_benchmark/benchmark_report.py
+++ b/benchmarks/cpp/benchmark_report.py
@@ -325,7 +325,7 @@ md_report = [
     f"_Generated on {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}_\n\n",
     "## How to Generate This Report\n\n",
     "```bash\n",
-    "cd benchmarks/cpp_benchmark/build\n",
+    "cd benchmarks/cpp/build\n",
     "./fory_benchmark --benchmark_format=json 
--benchmark_out=benchmark_results.json\n",
     "cd ..\n",
     "python benchmark_report.py --json-file build/benchmark_results.json 
--output-dir report\n",
diff --git a/benchmarks/cpp_benchmark/profile.sh b/benchmarks/cpp/profile.sh
similarity index 100%
rename from benchmarks/cpp_benchmark/profile.sh
rename to benchmarks/cpp/profile.sh
diff --git a/benchmarks/cpp_benchmark/run.sh b/benchmarks/cpp/run.sh
similarity index 100%
rename from benchmarks/cpp_benchmark/run.sh
rename to benchmarks/cpp/run.sh
diff --git a/benchmarks/go_benchmark/README.md b/benchmarks/go/README.md
similarity index 99%
rename from benchmarks/go_benchmark/README.md
rename to benchmarks/go/README.md
index 38b0b5466..946329f7c 100644
--- a/benchmarks/go_benchmark/README.md
+++ b/benchmarks/go/README.md
@@ -155,7 +155,7 @@ After running `./run.sh`:
 ## Directory Structure
 
 ```
-go_benchmark/
+go/
 ├── README.md              # This file
 ├── go.mod                 # Go module definition
 ├── models.go              # Data structures (NumericStruct, Sample, 
MediaContent)
diff --git a/benchmarks/go_benchmark/benchmark_report.py 
b/benchmarks/go/benchmark_report.py
similarity index 100%
rename from benchmarks/go_benchmark/benchmark_report.py
rename to benchmarks/go/benchmark_report.py
diff --git a/benchmarks/go_benchmark/benchmark_test.go 
b/benchmarks/go/benchmark_test.go
similarity index 99%
rename from benchmarks/go_benchmark/benchmark_test.go
rename to benchmarks/go/benchmark_test.go
index e0e1039c6..b6097d977 100644
--- a/benchmarks/go_benchmark/benchmark_test.go
+++ b/benchmarks/go/benchmark_test.go
@@ -21,7 +21,7 @@ import (
        "fmt"
        "testing"
 
-       pb "github.com/apache/fory/benchmarks/go_benchmark/proto"
+       pb "github.com/apache/fory/benchmarks/go/proto"
        "github.com/apache/fory/go/fory"
        "github.com/vmihailenco/msgpack/v5"
        "google.golang.org/protobuf/proto"
diff --git a/benchmarks/go_benchmark/go.mod b/benchmarks/go/go.mod
similarity index 95%
rename from benchmarks/go_benchmark/go.mod
rename to benchmarks/go/go.mod
index 89ee63067..c4f2321ba 100644
--- a/benchmarks/go_benchmark/go.mod
+++ b/benchmarks/go/go.mod
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-module github.com/apache/fory/benchmarks/go_benchmark
+module github.com/apache/fory/benchmarks/go
 
 go 1.24.0
 
diff --git a/benchmarks/go_benchmark/go.sum b/benchmarks/go/go.sum
similarity index 100%
rename from benchmarks/go_benchmark/go.sum
rename to benchmarks/go/go.sum
diff --git a/benchmarks/go_benchmark/models.go b/benchmarks/go/models.go
similarity index 100%
rename from benchmarks/go_benchmark/models.go
rename to benchmarks/go/models.go
diff --git a/benchmarks/go_benchmark/proto_convert.go 
b/benchmarks/go/proto_convert.go
similarity index 99%
rename from benchmarks/go_benchmark/proto_convert.go
rename to benchmarks/go/proto_convert.go
index fd2a6841b..5977c8f69 100644
--- a/benchmarks/go_benchmark/proto_convert.go
+++ b/benchmarks/go/proto_convert.go
@@ -18,7 +18,7 @@
 package benchmark
 
 import (
-       pb "github.com/apache/fory/benchmarks/go_benchmark/proto"
+       pb "github.com/apache/fory/benchmarks/go/proto"
 )
 
 // ToPbStruct converts NumericStruct to protobuf Struct
diff --git a/benchmarks/go_benchmark/run.sh b/benchmarks/go/run.sh
similarity index 98%
rename from benchmarks/go_benchmark/run.sh
rename to benchmarks/go/run.sh
index 503f14e37..da107a6c2 100755
--- a/benchmarks/go_benchmark/run.sh
+++ b/benchmarks/go/run.sh
@@ -162,7 +162,7 @@ fi
 protoc --proto_path="$PROTO_DIR" \
     --go_out="$PROTO_OUT_DIR" \
     --go_opt=paths=source_relative \
-    --go_opt=Mbench.proto=github.com/apache/fory/benchmarks/go_benchmark/proto 
\
+    --go_opt=Mbench.proto=github.com/apache/fory/benchmarks/go/proto \
     "$PROTO_DIR/bench.proto"
 
 echo "Protobuf code generated in $PROTO_OUT_DIR"
diff --git a/benchmarks/java_benchmark/README.md b/benchmarks/java/README.md
similarity index 97%
rename from benchmarks/java_benchmark/README.md
rename to benchmarks/java/README.md
index f3b0880a0..6587e6a6c 100644
--- a/benchmarks/java_benchmark/README.md
+++ b/benchmarks/java/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/benchmarks/java_benchmarkk/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/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java)
 using qwen3(LLM). Then modify it.
 
 ## How to run
 
diff --git a/benchmarks/java_benchmark/analyze.py b/benchmarks/java/analyze.py
similarity index 100%
rename from benchmarks/java_benchmark/analyze.py
rename to benchmarks/java/analyze.py
diff --git a/benchmarks/java_benchmark/plot_map_benchmark.py 
b/benchmarks/java/plot_map_benchmark.py
similarity index 100%
rename from benchmarks/java_benchmark/plot_map_benchmark.py
rename to benchmarks/java/plot_map_benchmark.py
diff --git a/benchmarks/java_benchmark/pom.xml b/benchmarks/java/pom.xml
similarity index 100%
rename from benchmarks/java_benchmark/pom.xml
rename to benchmarks/java/pom.xml
diff --git a/benchmarks/java_benchmark/runtest.sh b/benchmarks/java/runtest.sh
similarity index 100%
rename from benchmarks/java_benchmark/runtest.sh
rename to benchmarks/java/runtest.sh
diff --git a/benchmarks/java_benchmark/runtest_jdk11.sh 
b/benchmarks/java/runtest_jdk11.sh
similarity index 100%
rename from benchmarks/java_benchmark/runtest_jdk11.sh
rename to benchmarks/java/runtest_jdk11.sh
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ArraySuite.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/ArraySuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ArraySuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/ArraySuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Benchmark.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/Benchmark.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Benchmark.java
rename to benchmarks/java/src/main/java/org/apache/fory/benchmark/Benchmark.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CollectionSuite.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/CollectionSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CollectionSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/CollectionSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CompressStringSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/CompressStringSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CompressStringSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/CompressStringSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CopyBenchmark.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/CopyBenchmark.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/CopyBenchmark.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/CopyBenchmark.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/IntsDeserializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/IntsDeserializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/IntsDeserializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/IntsDeserializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/IntsSerializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/IntsSerializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/IntsSerializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/IntsSerializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongStringDeserializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/LongStringDeserializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongStringDeserializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/LongStringDeserializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongStringSerializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/LongStringSerializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongStringSerializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/LongStringSerializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongsDeserializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/LongsDeserializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongsDeserializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/LongsDeserializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongsSerializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/LongsSerializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/LongsSerializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/LongsSerializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MapSerializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/MapSerializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MapSerializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/MapSerializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MapSuite.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/MapSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MapSuite.java
rename to benchmarks/java/src/main/java/org/apache/fory/benchmark/MapSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MemorySuite.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/MemorySuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/MemorySuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/MemorySuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/NewJava11StringSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/NewJava11StringSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/NewJava11StringSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/NewJava11StringSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/NewStringSuite.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/NewStringSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/NewStringSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/NewStringSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/RowSuite.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/RowSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/RowSuite.java
rename to benchmarks/java/src/main/java/org/apache/fory/benchmark/RowSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StringDeserializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/StringDeserializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StringDeserializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/StringDeserializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StringSerializationSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/StringSerializationSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StringSerializationSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/StringSerializationSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StructBenchmark.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/StructBenchmark.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/StructBenchmark.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/StructBenchmark.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ThreadPoolForySuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/ThreadPoolForySuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ThreadPoolForySuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/ThreadPoolForySuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeDeserializeSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/UserTypeDeserializeSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeDeserializeSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/UserTypeDeserializeSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/UserTypeSerializeSuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ZeroCopySuite.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/ZeroCopySuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/ZeroCopySuite.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/ZeroCopySuite.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/ComparableByteArray.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/ComparableByteArray.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/ComparableByteArray.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/ComparableByteArray.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/CustomJDKSerialization.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/CustomJDKSerialization.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/CustomJDKSerialization.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/CustomJDKSerialization.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Data.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Data.java
rename to benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Data.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Image.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Image.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Image.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Media.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Media.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Media.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/MediaContent.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Sample.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Sample.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Sample.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/SerializableByteBuffer.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/SerializableByteBuffer.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/SerializableByteBuffer.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/SerializableByteBuffer.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Struct.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Struct.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/data/Struct.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Struct.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BenchmarkState.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/BenchmarkState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BenchmarkState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/BenchmarkState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/BufferType.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/BufferType.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/BufferType.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/Example.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/Example.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/Example.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/Example.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/FlatBuffersState.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/FlatBuffersState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/FlatBuffersState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/FlatBuffersState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ForyState.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/ForyState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ForyState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/ForyState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/FstState.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/FstState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/FstState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/FstState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/HessionState.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/HessionState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/HessionState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/HessionState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/JDKState.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/JDKState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/JDKState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/JDKState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/JsonbState.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/JsonbState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/JsonbState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/JsonbState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/KryoState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/KryoState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/KryoState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/MsgpackState.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/MsgpackState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/MsgpackState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/MsgpackState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ObjectType.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/ObjectType.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ObjectType.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/ObjectType.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ProtoBuffersState.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/ProtoBuffersState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ProtoBuffersState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/ProtoBuffersState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ProtostuffState.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/ProtostuffState.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/ProtostuffState.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/ProtostuffState.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/bench.fbs
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/bench.fbs
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/bench.fbs
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/bench.fbs
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSBar.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSBar.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSBar.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSBar.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSFoo.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSFoo.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSFoo.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSFoo.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSImage.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSImage.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSImage.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSImage.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMedia.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSMedia.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMedia.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSMedia.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMediaContent.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSMediaContent.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSMediaContent.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSMediaContent.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSPlayer.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSPlayer.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSPlayer.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSPlayer.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSample.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSSample.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSample.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSSample.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSize.java
 
b/benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSSize.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/FBSSize.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/FBSSize.java
diff --git 
a/benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
 b/benchmarks/java/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
rename to 
benchmarks/java/src/main/java/org/apache/fory/benchmark/util/MsgpackUtil.java
diff --git 
a/benchmarks/java_benchmark/src/main/java17/org/apache/fory/benchmark/ArrayCompressionSuite.java
 
b/benchmarks/java/src/main/java17/org/apache/fory/benchmark/ArrayCompressionSuite.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/main/java17/org/apache/fory/benchmark/ArrayCompressionSuite.java
rename to 
benchmarks/java/src/main/java17/org/apache/fory/benchmark/ArrayCompressionSuite.java
diff --git 
a/benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/FlatBuffersStateTest.java
 
b/benchmarks/java/src/test/java/org/apache/fory/benchmark/state/FlatBuffersStateTest.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/FlatBuffersStateTest.java
rename to 
benchmarks/java/src/test/java/org/apache/fory/benchmark/state/FlatBuffersStateTest.java
diff --git 
a/benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/JsonTest.java
 b/benchmarks/java/src/test/java/org/apache/fory/benchmark/state/JsonTest.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/JsonTest.java
rename to 
benchmarks/java/src/test/java/org/apache/fory/benchmark/state/JsonTest.java
diff --git 
a/benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/ProtoBuffersStateTest.java
 
b/benchmarks/java/src/test/java/org/apache/fory/benchmark/state/ProtoBuffersStateTest.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/ProtoBuffersStateTest.java
rename to 
benchmarks/java/src/test/java/org/apache/fory/benchmark/state/ProtoBuffersStateTest.java
diff --git 
a/benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/ProtobufSerializerTest.java
 
b/benchmarks/java/src/test/java/org/apache/fory/benchmark/state/ProtobufSerializerTest.java
similarity index 100%
rename from 
benchmarks/java_benchmark/src/test/java/org/apache/fory/benchmark/state/ProtobufSerializerTest.java
rename to 
benchmarks/java/src/test/java/org/apache/fory/benchmark/state/ProtobufSerializerTest.java
diff --git a/benchmarks/cpython_benchmark/README.md 
b/benchmarks/python/README.md
similarity index 100%
rename from benchmarks/cpython_benchmark/README.md
rename to benchmarks/python/README.md
diff --git a/benchmarks/cpython_benchmark/fory_benchmark.py 
b/benchmarks/python/fory_benchmark.py
similarity index 100%
rename from benchmarks/cpython_benchmark/fory_benchmark.py
rename to benchmarks/python/fory_benchmark.py
diff --git a/benchmarks/rust_benchmark/Cargo.toml b/benchmarks/rust/Cargo.toml
similarity index 100%
rename from benchmarks/rust_benchmark/Cargo.toml
rename to benchmarks/rust/Cargo.toml
diff --git a/benchmarks/rust_benchmark/README.md b/benchmarks/rust/README.md
similarity index 100%
rename from benchmarks/rust_benchmark/README.md
rename to benchmarks/rust/README.md
diff --git a/benchmarks/rust_benchmark/benches/buffer_read_bench.rs 
b/benchmarks/rust/benches/buffer_read_bench.rs
similarity index 100%
rename from benchmarks/rust_benchmark/benches/buffer_read_bench.rs
rename to benchmarks/rust/benches/buffer_read_bench.rs
diff --git a/benchmarks/rust_benchmark/benches/buffer_write_bench.rs 
b/benchmarks/rust/benches/buffer_write_bench.rs
similarity index 100%
rename from benchmarks/rust_benchmark/benches/buffer_write_bench.rs
rename to benchmarks/rust/benches/buffer_write_bench.rs
diff --git a/benchmarks/rust_benchmark/benches/serialization_bench.rs 
b/benchmarks/rust/benches/serialization_bench.rs
similarity index 100%
rename from benchmarks/rust_benchmark/benches/serialization_bench.rs
rename to benchmarks/rust/benches/serialization_bench.rs
diff --git a/benchmarks/rust_benchmark/benches/threaded_bench.rs 
b/benchmarks/rust/benches/threaded_bench.rs
similarity index 100%
rename from benchmarks/rust_benchmark/benches/threaded_bench.rs
rename to benchmarks/rust/benches/threaded_bench.rs
diff --git a/benchmarks/rust_benchmark/benchmark_report.py 
b/benchmarks/rust/benchmark_report.py
similarity index 100%
rename from benchmarks/rust_benchmark/benchmark_report.py
rename to benchmarks/rust/benchmark_report.py
diff --git a/benchmarks/rust_benchmark/build.rs b/benchmarks/rust/build.rs
similarity index 100%
rename from benchmarks/rust_benchmark/build.rs
rename to benchmarks/rust/build.rs
diff --git a/benchmarks/rust_benchmark/proto/complex.proto 
b/benchmarks/rust/proto/complex.proto
similarity index 100%
rename from benchmarks/rust_benchmark/proto/complex.proto
rename to benchmarks/rust/proto/complex.proto
diff --git a/benchmarks/rust_benchmark/proto/medium.proto 
b/benchmarks/rust/proto/medium.proto
similarity index 100%
rename from benchmarks/rust_benchmark/proto/medium.proto
rename to benchmarks/rust/proto/medium.proto
diff --git a/benchmarks/rust_benchmark/proto/realworld.proto 
b/benchmarks/rust/proto/realworld.proto
similarity index 100%
rename from benchmarks/rust_benchmark/proto/realworld.proto
rename to benchmarks/rust/proto/realworld.proto
diff --git a/benchmarks/rust_benchmark/proto/simple.proto 
b/benchmarks/rust/proto/simple.proto
similarity index 100%
rename from benchmarks/rust_benchmark/proto/simple.proto
rename to benchmarks/rust/proto/simple.proto
diff --git a/benchmarks/rust_benchmark/run.sh b/benchmarks/rust/run.sh
similarity index 100%
rename from benchmarks/rust_benchmark/run.sh
rename to benchmarks/rust/run.sh
diff --git a/benchmarks/rust_benchmark/src/lib.rs b/benchmarks/rust/src/lib.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/lib.rs
rename to benchmarks/rust/src/lib.rs
diff --git a/benchmarks/rust_benchmark/src/main.rs b/benchmarks/rust/src/main.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/main.rs
rename to benchmarks/rust/src/main.rs
diff --git a/benchmarks/rust_benchmark/src/models/complex.rs 
b/benchmarks/rust/src/models/complex.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/models/complex.rs
rename to benchmarks/rust/src/models/complex.rs
diff --git a/benchmarks/rust_benchmark/src/models/medium.rs 
b/benchmarks/rust/src/models/medium.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/models/medium.rs
rename to benchmarks/rust/src/models/medium.rs
diff --git a/benchmarks/rust_benchmark/src/models/mod.rs 
b/benchmarks/rust/src/models/mod.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/models/mod.rs
rename to benchmarks/rust/src/models/mod.rs
diff --git a/benchmarks/rust_benchmark/src/models/realworld.rs 
b/benchmarks/rust/src/models/realworld.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/models/realworld.rs
rename to benchmarks/rust/src/models/realworld.rs
diff --git a/benchmarks/rust_benchmark/src/models/simple.rs 
b/benchmarks/rust/src/models/simple.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/models/simple.rs
rename to benchmarks/rust/src/models/simple.rs
diff --git a/benchmarks/rust_benchmark/src/serializers/fory.rs 
b/benchmarks/rust/src/serializers/fory.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/serializers/fory.rs
rename to benchmarks/rust/src/serializers/fory.rs
diff --git a/benchmarks/rust_benchmark/src/serializers/json.rs 
b/benchmarks/rust/src/serializers/json.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/serializers/json.rs
rename to benchmarks/rust/src/serializers/json.rs
diff --git a/benchmarks/rust_benchmark/src/serializers/mod.rs 
b/benchmarks/rust/src/serializers/mod.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/serializers/mod.rs
rename to benchmarks/rust/src/serializers/mod.rs
diff --git a/benchmarks/rust_benchmark/src/serializers/protobuf.rs 
b/benchmarks/rust/src/serializers/protobuf.rs
similarity index 100%
rename from benchmarks/rust_benchmark/src/serializers/protobuf.rs
rename to benchmarks/rust/src/serializers/protobuf.rs
diff --git a/ci/format.sh b/ci/format.sh
index 6acd31d47..5501dc481 100755
--- a/ci/format.sh
+++ b/ci/format.sh
@@ -164,7 +164,7 @@ format_java() {
       mvn -T10 --no-transfer-progress spotless:apply
       mvn -T10 --no-transfer-progress checkstyle:check
       mvn -T10 --no-transfer-progress install -DskipTests
-      cd "$ROOT/benchmarks/java_benchmark"
+      cd "$ROOT/benchmarks/java"
       mvn -T10 --no-transfer-progress spotless:apply
       cd "$ROOT/integration_tests"
       dirs=("graalvm_tests" "jdk_compatibility_tests")
diff --git a/ci/release.py b/ci/release.py
index 6667cf326..8f004f673 100644
--- a/ci/release.py
+++ b/ci/release.py
@@ -215,7 +215,7 @@ def bump_java_version(new_version):
         "integration_tests/jdk_compatibility_tests",
         "integration_tests/jpms_tests",
         "integration_tests/idl_tests/java",
-        "benchmarks/java_benchmark",
+        "benchmarks/java",
         "java/fory-core",
         "java/fory-format",
         "java/fory-simd",
@@ -250,7 +250,7 @@ def bump_rust_version(new_version):
     rust_version = _normalize_rust_version(new_version)
     _bump_version("rust", "Cargo.toml", rust_version, _update_rust_version)
     _bump_version(
-        "benchmarks/rust_benchmark",
+        "benchmarks/rust",
         "Cargo.toml",
         rust_version,
         _update_cargo_package_version,
@@ -266,7 +266,7 @@ def bump_rust_version(new_version):
 def bump_cpp_version(new_version):
     for p in [
         "cpp",
-        "benchmarks/cpp_benchmark",
+        "benchmarks/cpp",
         "integration_tests/idl_tests/cpp",
     ]:
         _bump_version(p, "CMakeLists.txt", new_version, 
_update_cmake_project_version)
@@ -274,7 +274,7 @@ def bump_cpp_version(new_version):
 
 def bump_go_version(new_version):
     for p in [
-        "benchmarks/go_benchmark",
+        "benchmarks/go",
         "integration_tests/idl_tests/go",
     ]:
         _bump_version(p, "go.mod", new_version, _update_go_mod_version)
diff --git a/ci/run_ci.sh b/ci/run_ci.sh
index 026d19772..875df9b0a 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"/benchmarks/java_benchmark
+  cd "$ROOT"/benchmarks/java
   mvn -T10 -B --no-transfer-progress clean test install -Pjmh
   echo "Start JPMS tests"
   cd "$ROOT"/integration_tests/jpms_tests
diff --git a/ci/tasks/java.py b/ci/tasks/java.py
index 2ac0eb9f4..c42cd3962 100644
--- a/ci/tasks/java.py
+++ b/ci/tasks/java.py
@@ -209,7 +209,7 @@ def run_integration_tests():
     )
 
     logging.info("benchmark tests")
-    common.cd_project_subdir("benchmarks/java_benchmark")
+    common.cd_project_subdir("benchmarks/java")
     common.exec_cmd("mvn -T10 -B --no-transfer-progress clean test install 
-Pjmh")
 
     logging.info("Start JPMS tests")
diff --git a/cpp/README.md b/cpp/README.md
index 9a66b1391..735fad294 100644
--- a/cpp/README.md
+++ b/cpp/README.md
@@ -24,7 +24,7 @@ Fory C++ demonstrates competitive performance compared to 
protobuf c++ serializa
 <img src="../docs/benchmarks/cpp/throughput.png" width="95%">
 </p>
 
-For more detailed benchmarks and methodology, see [C++ 
Benchmarks](../benchmarks/cpp_benchmark).
+For more detailed benchmarks and methodology, see [C++ 
Benchmarks](../benchmarks/cpp).
 
 ## Quick Start
 
diff --git a/docs/README.md b/docs/README.md
index 9c3bddcb8..678b3d2a0 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -26,12 +26,12 @@ Define cross-language data structures with Fory IDL and 
generate native code for
 ## Benchmarks
 
 - Benchmark source code:
-  - Java: [Java Benchmarks Source](../benchmarks/java_benchmark)
-  - Python: [Python Benchmarks Source](../benchmarks/cpython_benchmark)
-  - Rust: [Rust Benchmarks Source](../benchmarks/rust_benchmark/)
+  - Java: [Java Benchmarks Source](../benchmarks/java)
+  - Python: [Python Benchmarks Source](../benchmarks/python)
+  - Rust: [Rust Benchmarks Source](../benchmarks/rust/)
 - Benchmark result:
   - Java: [Java Benchmarks](benchmarks/java/)
-  - Rust: [Rust Benchmarks](benchmarks/rust_benchmark).
+  - Rust: [Rust Benchmarks](benchmarks/rust).
 
 ## Development
 
diff --git a/docs/benchmarks/cpp/README.md b/docs/benchmarks/cpp/README.md
index 63eba5adb..ec0ae5a95 100644
--- a/docs/benchmarks/cpp/README.md
+++ b/docs/benchmarks/cpp/README.md
@@ -5,7 +5,7 @@ _Generated on 2026-02-19 10:20:08_
 ## How to Generate This Report
 
 ```bash
-cd benchmarks/cpp_benchmark/build
+cd benchmarks/cpp/build
 ./fory_benchmark --benchmark_format=json --benchmark_out=benchmark_results.json
 cd ..
 python benchmark_report.py --json-file build/benchmark_results.json 
--output-dir report
diff --git a/docs/benchmarks/cpp/REPORT.md b/docs/benchmarks/cpp/REPORT.md
index cf66f3981..8d8596895 100644
--- a/docs/benchmarks/cpp/REPORT.md
+++ b/docs/benchmarks/cpp/REPORT.md
@@ -5,7 +5,7 @@ _Generated on 2026-02-06 20:01:02_
 ## How to Generate This Report
 
 ```bash
-cd benchmarks/cpp_benchmark/build
+cd benchmarks/cpp/build
 ./fory_benchmark --benchmark_format=json --benchmark_out=benchmark_results.json
 cd ..
 python benchmark_report.py --json-file build/benchmark_results.json 
--output-dir report
diff --git a/docs/benchmarks/go/benchmark_results.txt 
b/docs/benchmarks/go/benchmark_results.txt
index 516dc0387..21aa26e63 100644
--- a/docs/benchmarks/go/benchmark_results.txt
+++ b/docs/benchmarks/go/benchmark_results.txt
@@ -140,7 +140,7 @@ MediaContentList:
 ============================================
 goos: darwin
 goarch: arm64
-pkg: github.com/apache/fory/benchmarks/go_benchmark
+pkg: github.com/apache/fory/benchmarks/go
 cpu: Apple M4 Pro
 BenchmarkFory_Struct_Serialize-12                      18441836                
65.29 ns/op            0 B/op          0 allocs/op
 BenchmarkFory_Struct_Serialize-12                      18408471                
65.41 ns/op            0 B/op          0 allocs/op
@@ -323,4 +323,4 @@ BenchmarkMsgpack_MediaContentList_Deserialize-12            
   44185             27271 ns/op
 BenchmarkMsgpack_MediaContentList_Deserialize-12          43345             
27499 ns/op           20058 B/op        307 allocs/op
 BenchmarkMsgpack_MediaContentList_Deserialize-12          43718             
27975 ns/op           20058 B/op        307 allocs/op
 PASS
-ok     github.com/apache/fory/benchmarks/go_benchmark  256.707s
+ok     github.com/apache/fory/benchmarks/go    256.707s
diff --git a/docs/benchmarks/rust/README.md b/docs/benchmarks/rust/README.md
index 60e2e7b3a..6031d2622 100644
--- a/docs/benchmarks/rust/README.md
+++ b/docs/benchmarks/rust/README.md
@@ -5,7 +5,7 @@ _Generated on 2025-10-26 18:36:41_
 How to generate performance report:
 
 ```bash
-cd benchmarks/rust_benchmark
+cd benchmarks/rust
 cargo bench 2>&1 | tee cargo_bench.log
 python benchmark_report.py --log-file cargo_bench.log 
--output-dir=report_output
 ```
diff --git a/go/README.md b/go/README.md
index aa3f8d1f7..002b0b899 100644
--- a/go/README.md
+++ b/go/README.md
@@ -62,7 +62,7 @@ Fory Go demonstrates excellent performance compared to other 
go serialization fr
 <img src="../docs/benchmarks/go/benchmark_combined.png" width="95%">
 </p>
 
-For more detailed benchmarks and methodology, see [Go 
Benchmark](../benchmarks/go_benchmark).
+For more detailed benchmarks and methodology, see [Go 
Benchmark](../benchmarks/go).
 
 ## Code Style
 
diff --git a/licenserc.toml b/licenserc.toml
index cc0ecab0b..1bacf1d90 100644
--- a/licenserc.toml
+++ b/licenserc.toml
@@ -24,19 +24,19 @@ excludes = [
     "go/fory/tests/structs_fory_gen.go",
 
     # Generated
-    
"benchmarks/java_benchmark/src/main/java/org/apache/fory/benchmark/state/generated/**",
+    
"benchmarks/java/src/main/java/org/apache/fory/benchmark/state/generated/**",
     "integration_tests/idl_tests/**/auto_id.*",
 
     # Derived
     "ci/format.sh",
-    
"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",
+    
"benchmarks/java/src/main/java/org/apache/fory/benchmark/Identity2IdMap.java",
+    "benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Data.java",
+    "benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Image.java",
+    "benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Media.java",
+    
"benchmarks/java/src/main/java/org/apache/fory/benchmark/data/MediaContent.java",
+    "benchmarks/java/src/main/java/org/apache/fory/benchmark/data/Sample.java",
+    
"benchmarks/java/src/main/java/org/apache/fory/benchmark/state/BufferType.java",
+    
"benchmarks/java/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/rust/README.md b/rust/README.md
index c16651f65..c951bd68c 100644
--- a/rust/README.md
+++ b/rust/README.md
@@ -627,7 +627,7 @@ Apache Fory™ Rust is designed for maximum performance:
 Run benchmarks:
 
 ```bash
-cd benchmarks/rust_benchmark
+cd benchmarks/rust
 cargo bench
 ```
 


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

Reply via email to