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]