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-site.git
The following commit(s) were added to refs/heads/main by this push:
new a4df311757 🔄 synced local 'docs/benchmarks/' with remote
'docs/benchmarks/'
a4df311757 is described below
commit a4df3117577b350236ea81c70aaeabed2c203727
Author: chaokunyang <[email protected]>
AuthorDate: Sun Mar 22 06:46:44 2026 +0000
🔄 synced local 'docs/benchmarks/' with remote 'docs/benchmarks/'
---
docs/benchmarks/rust/README.md | 207 ++++++++++++++++--------------
docs/benchmarks/rust/mediacontent.png | Bin 0 -> 54130 bytes
docs/benchmarks/rust/mediacontentlist.png | Bin 0 -> 54154 bytes
docs/benchmarks/rust/sample.png | Bin 0 -> 44641 bytes
docs/benchmarks/rust/samplelist.png | Bin 0 -> 46992 bytes
docs/benchmarks/rust/struct.png | Bin 0 -> 49558 bytes
docs/benchmarks/rust/structlist.png | Bin 0 -> 45987 bytes
docs/benchmarks/rust/throughput.png | Bin 0 -> 75422 bytes
8 files changed, 110 insertions(+), 97 deletions(-)
diff --git a/docs/benchmarks/rust/README.md b/docs/benchmarks/rust/README.md
index 6031d2622f..2c6e439446 100644
--- a/docs/benchmarks/rust/README.md
+++ b/docs/benchmarks/rust/README.md
@@ -1,104 +1,117 @@
-## Performance Comparison Report
+# Rust Benchmark Performance Report
-_Generated on 2025-10-26 18:36:41_
+_Generated on 2026-03-20 18:40:46_
-How to generate performance report:
+## How to Generate This Report
```bash
cd benchmarks/rust
-cargo bench 2>&1 | tee cargo_bench.log
-python benchmark_report.py --log-file cargo_bench.log
--output-dir=report_output
+cargo bench --bench serialization_bench 2>&1 | tee results/cargo_bench.log
+cargo run --release --bin fory_profiler -- --print-all-serialized-sizes | tee
results/serialized_sizes.txt
+python benchmark_report.py --log-file results/cargo_bench.log --size-file
results/serialized_sizes.txt --output-dir results
```
-### Hardware & OS Info
-
-| Key | Value |
-| -------------------- | ------------- |
-| OS | Darwin 24.5.0 |
-| Machine | arm64 |
-| Processor | arm |
-| CPU Cores (Physical) | 12 |
-| CPU Cores (Logical) | 12 |
-| Total RAM (GB) | 48.0 |
-
-### Benchmark Plots
-
-**company**
-
-
-
-**ecommerce_data**
-
-
-
-**person**
-
-
-
-**simple_list**
-
-
-
-**simple_map**
-
-
-
-**simple_struct**
-
-
-
-**system_data**
-
-
-
-### Serialize Results
-
-| Datatype | Size | Operation | Fory TPS | JSON TPS | Protobuf TPS
| Fastest |
-| -------------- | ------ | --------- | ---------- | ---------- | ------------
| ------- |
-| company | small | serialize | 10,063,906 | 761,673 | 896,620
| fory |
-| company | medium | serialize | 412,507 | 33,835 | 37,590
| fory |
-| company | large | serialize | 9,183 | 793 | 880
| fory |
-| ecommerce_data | small | serialize | 2,350,729 | 206,262 | 256,970
| fory |
-| ecommerce_data | medium | serialize | 59,977 | 4,699 | 5,242
| fory |
-| ecommerce_data | large | serialize | 3,727 | 266 | 295
| fory |
-| person | small | serialize | 13,632,522 | 1,345,189 | 1,475,035
| fory |
-| person | medium | serialize | 3,839,656 | 337,610 | 369,031
| fory |
-| person | large | serialize | 907,853 | 79,631 | 91,408
| fory |
-| simple_list | small | serialize | 27,726,945 | 4,874,957 | 4,643,172
| fory |
-| simple_list | medium | serialize | 4,770,765 | 401,558 | 397,551
| fory |
-| simple_list | large | serialize | 606,061 | 41,061 | 44,565
| fory |
-| simple_map | small | serialize | 22,862,369 | 3,888,025 | 2,695,999
| fory |
-| simple_map | medium | serialize | 2,128,973 | 204,319 | 193,132
| fory |
-| simple_map | large | serialize | 177,847 | 18,419 | 18,668
| fory |
-| simple_struct | small | serialize | 35,729,598 | 10,167,045 | 8,633,342
| fory |
-| simple_struct | medium | serialize | 34,988,279 | 9,737,098 | 6,433,350
| fory |
-| simple_struct | large | serialize | 31,801,558 | 4,545,041 | 7,420,049
| fory |
-| system_data | small | serialize | 5,382,131 | 468,033 | 569,930
| fory |
-| system_data | medium | serialize | 174,240 | 11,896 | 14,753
| fory |
-| system_data | large | serialize | 10,671 | 876 | 1,040
| fory |
-
-### Deserialize Results
-
-| Datatype | Size | Operation | Fory TPS | JSON TPS | Protobuf
TPS | Fastest |
-| -------------- | ------ | ----------- | ---------- | ---------- |
------------ | ------- |
-| company | small | deserialize | 1,145,593 | 718,597 | 917,431
| fory |
-| company | medium | deserialize | 35,195 | 24,474 | 25,057
| fory |
-| company | large | deserialize | 836 | 623 | 623
| fory |
-| ecommerce_data | small | deserialize | 278,427 | 183,237 | 241,109
| fory |
-| ecommerce_data | medium | deserialize | 5,622 | 3,820 | 4,249
| fory |
-| ecommerce_data | large | deserialize | 298 | 204 | 217
| fory |
-| person | small | deserialize | 1,924,372 | 1,214,388 | 1,675,631
| fory |
-| person | medium | deserialize | 371,016 | 265,280 | 266,333
| fory |
-| person | large | deserialize | 84,839 | 63,975 | 61,820
| fory |
-| simple_list | small | deserialize | 6,129,329 | 3,599,582 | 4,429,286
| fory |
-| simple_list | medium | deserialize | 460,745 | 305,409 | 337,336
| fory |
-| simple_list | large | deserialize | 54,348 | 33,962 | 38,776
| fory |
-| simple_map | small | deserialize | 3,686,364 | 3,090,426 | 3,477,051
| fory |
-| simple_map | medium | deserialize | 171,774 | 126,638 | 119,323
| fory |
-| simple_map | large | deserialize | 16,501 | 10,920 | 10,853
| fory |
-| simple_struct | small | deserialize | 31,476,235 | 12,948,168 | 28,280,543
| fory |
-| simple_struct | medium | deserialize | 30,077,902 | 10,431,118 | 23,012,841
| fory |
-| simple_struct | large | deserialize | 28,201,585 | 8,955,759 | 23,528,858
| fory |
-| system_data | small | deserialize | 644,870 | 421,106 | 549,209
| fory |
-| system_data | medium | deserialize | 14,322 | 9,205 | 10,565
| fory |
-| system_data | large | deserialize | 961 | 634 | 706
| fory |
+## Hardware & OS Info
+
+| Key | Value |
+|-----|-------|
+| OS | Darwin 24.6.0 |
+| Machine | arm64 |
+| Processor | arm |
+| CPU Cores (Physical) | 12 |
+| CPU Cores (Logical) | 12 |
+| Total RAM (GB) | 48.0 |
+| Benchmark Date | 2026-03-20T18:40:44 |
+
+## Benchmark Plots
+
+All class-level plots below show throughput (ops/sec).
+
+### Throughput
+
+<p align="center">
+<img src="throughput.png" width="90%" />
+</p>
+
+### MediaContent
+
+<p align="center">
+<img src="mediacontent.png" width="90%" />
+</p>
+
+### MediaContentList
+
+<p align="center">
+<img src="mediacontentlist.png" width="90%" />
+</p>
+
+### Sample
+
+<p align="center">
+<img src="sample.png" width="90%" />
+</p>
+
+### SampleList
+
+<p align="center">
+<img src="samplelist.png" width="90%" />
+</p>
+
+### Struct
+
+<p align="center">
+<img src="struct.png" width="90%" />
+</p>
+
+### StructList
+
+<p align="center">
+<img src="structlist.png" width="90%" />
+</p>
+
+## Benchmark Results
+
+### Timing Results (nanoseconds)
+
+| Datatype | Operation | fory (ns) | protobuf (ns) | Fastest |
+|----------|-----------|-----------|---------------|---------|
+| Struct | Serialize | 69.6 | 76.8 | fory |
+| Struct | Deserialize | 27.0 | 70.4 | fory |
+| Sample | Serialize | 148.5 | 584.3 | fory |
+| Sample | Deserialize | 350.9 | 983.1 | fory |
+| MediaContent | Serialize | 277.8 | 553.2 | fory |
+| MediaContent | Deserialize | 472.3 | 706.4 | fory |
+| StructList | Serialize | 170.4 | 385.4 | fory |
+| StructList | Deserialize | 96.8 | 294.7 | fory |
+| SampleList | Serialize | 356.2 | 3155.7 | fory |
+| SampleList | Deserialize | 1644.1 | 4361.0 | fory |
+| MediaContentList | Serialize | 657.4 | 2844.0 | fory |
+| MediaContentList | Deserialize | 2397.7 | 3696.6 | fory |
+
+### Throughput Results (ops/sec)
+
+| Datatype | Operation | fory TPS | protobuf TPS | Fastest |
+|----------|-----------|----------|--------------|---------|
+| Struct | Serialize | 14,366,165 | 13,022,359 | fory |
+| Struct | Deserialize | 37,065,866 | 14,202,528 | fory |
+| Sample | Serialize | 6,734,914 | 1,711,537 | fory |
+| Sample | Deserialize | 2,849,409 | 1,017,201 | fory |
+| MediaContent | Serialize | 3,600,230 | 1,807,664 | fory |
+| MediaContent | Deserialize | 2,117,433 | 1,415,689 | fory |
+| StructList | Serialize | 5,866,823 | 2,595,043 | fory |
+| StructList | Deserialize | 10,330,152 | 3,393,051 | fory |
+| SampleList | Serialize | 2,807,333 | 316,887 | fory |
+| SampleList | Deserialize | 608,236 | 229,305 | fory |
+| MediaContentList | Serialize | 1,521,098 | 351,617 | fory |
+| MediaContentList | Deserialize | 417,066 | 270,519 | fory |
+
+### Serialized Data Sizes (bytes)
+
+| Datatype | fory | protobuf |
+|----------|------|----------|
+| Struct | 58 | 61 |
+| Sample | 446 | 375 |
+| MediaContent | 365 | 301 |
+| StructList | 184 | 315 |
+| SampleList | 1980 | 1890 |
+| MediaContentList | 1535 | 1520 |
diff --git a/docs/benchmarks/rust/mediacontent.png
b/docs/benchmarks/rust/mediacontent.png
new file mode 100644
index 0000000000..8d026ef4b0
Binary files /dev/null and b/docs/benchmarks/rust/mediacontent.png differ
diff --git a/docs/benchmarks/rust/mediacontentlist.png
b/docs/benchmarks/rust/mediacontentlist.png
new file mode 100644
index 0000000000..f2bf6b7214
Binary files /dev/null and b/docs/benchmarks/rust/mediacontentlist.png differ
diff --git a/docs/benchmarks/rust/sample.png b/docs/benchmarks/rust/sample.png
new file mode 100644
index 0000000000..e63ebcbad8
Binary files /dev/null and b/docs/benchmarks/rust/sample.png differ
diff --git a/docs/benchmarks/rust/samplelist.png
b/docs/benchmarks/rust/samplelist.png
new file mode 100644
index 0000000000..b7ba75b72f
Binary files /dev/null and b/docs/benchmarks/rust/samplelist.png differ
diff --git a/docs/benchmarks/rust/struct.png b/docs/benchmarks/rust/struct.png
new file mode 100644
index 0000000000..e12c6a3327
Binary files /dev/null and b/docs/benchmarks/rust/struct.png differ
diff --git a/docs/benchmarks/rust/structlist.png
b/docs/benchmarks/rust/structlist.png
new file mode 100644
index 0000000000..e030cf45fd
Binary files /dev/null and b/docs/benchmarks/rust/structlist.png differ
diff --git a/docs/benchmarks/rust/throughput.png
b/docs/benchmarks/rust/throughput.png
new file mode 100644
index 0000000000..be89782fbb
Binary files /dev/null and b/docs/benchmarks/rust/throughput.png differ
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]