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 6fc3a2c0e6 🔄 synced local 'docs/benchmarks/' with remote 
'docs/benchmarks/'
6fc3a2c0e6 is described below

commit 6fc3a2c0e692092613165fa58c2ca9c76de8342f
Author: chaokunyang <[email protected]>
AuthorDate: Fri May 8 05:12:34 2026 +0000

    🔄 synced local 'docs/benchmarks/' with remote 'docs/benchmarks/'
---
 docs/benchmarks/cpp/README.md                     |  96 +++++++++----------
 docs/benchmarks/cpp/mediacontent.png              | Bin 52441 -> 50062 bytes
 docs/benchmarks/cpp/mediacontentlist.png          | Bin 57760 -> 56860 bytes
 docs/benchmarks/cpp/sample.png                    | Bin 54468 -> 55396 bytes
 docs/benchmarks/cpp/samplelist.png                | Bin 53635 -> 54202 bytes
 docs/benchmarks/cpp/struct.png                    | Bin 51954 -> 57826 bytes
 docs/benchmarks/cpp/structlist.png                | Bin 52960 -> 51789 bytes
 docs/benchmarks/cpp/throughput.png                | Bin 80164 -> 114387 bytes
 docs/benchmarks/csharp/README.md                  |  96 +++++++++----------
 docs/benchmarks/csharp/mediacontent.png           | Bin 53148 -> 52348 bytes
 docs/benchmarks/csharp/mediacontentlist.png       | Bin 52044 -> 52715 bytes
 docs/benchmarks/csharp/sample.png                 | Bin 51280 -> 51745 bytes
 docs/benchmarks/csharp/samplelist.png             | Bin 55993 -> 55395 bytes
 docs/benchmarks/csharp/struct.png                 | Bin 53639 -> 58901 bytes
 docs/benchmarks/csharp/structlist.png             | Bin 47081 -> 51850 bytes
 docs/benchmarks/csharp/throughput.png             | Bin 77537 -> 111858 bytes
 docs/benchmarks/dart/README.md                    |  56 +++++------
 docs/benchmarks/dart/mediacontent.png             | Bin 45286 -> 49785 bytes
 docs/benchmarks/dart/mediacontentlist.png         | Bin 47261 -> 51043 bytes
 docs/benchmarks/dart/sample.png                   | Bin 35842 -> 40800 bytes
 docs/benchmarks/dart/samplelist.png               | Bin 45087 -> 52765 bytes
 docs/benchmarks/dart/struct.png                   | Bin 37307 -> 34675 bytes
 docs/benchmarks/dart/structlist.png               | Bin 39438 -> 43743 bytes
 docs/benchmarks/dart/throughput.png               | Bin 81139 -> 102054 bytes
 docs/benchmarks/go/README.md                      | 110 +++++++++++++---------
 docs/benchmarks/go/benchmark_mediacontent.png     | Bin 63179 -> 68637 bytes
 docs/benchmarks/go/benchmark_mediacontentlist.png | Bin 75245 -> 72117 bytes
 docs/benchmarks/go/benchmark_sample.png           | Bin 64836 -> 61520 bytes
 docs/benchmarks/go/benchmark_samplelist.png       | Bin 70519 -> 73716 bytes
 docs/benchmarks/go/benchmark_struct.png           | Bin 65532 -> 63923 bytes
 docs/benchmarks/go/benchmark_structlist.png       | Bin 63835 -> 61736 bytes
 docs/benchmarks/go/serialized_sizes.txt           |  22 ++---
 docs/benchmarks/go/throughput.png                 | Bin 0 -> 89753 bytes
 docs/benchmarks/java/README.md                    |  36 ++++++-
 docs/benchmarks/java/throughput.png               | Bin 0 -> 112250 bytes
 docs/benchmarks/javascript/README.md              |  92 +++++++++---------
 docs/benchmarks/javascript/mediacontent.png       | Bin 55168 -> 54554 bytes
 docs/benchmarks/javascript/mediacontentlist.png   | Bin 56815 -> 54268 bytes
 docs/benchmarks/javascript/sample.png             | Bin 57185 -> 55343 bytes
 docs/benchmarks/javascript/samplelist.png         | Bin 57215 -> 56036 bytes
 docs/benchmarks/javascript/struct.png             | Bin 50777 -> 50042 bytes
 docs/benchmarks/javascript/structlist.png         | Bin 54735 -> 48116 bytes
 docs/benchmarks/javascript/throughput.png         | Bin 81947 -> 106283 bytes
 docs/benchmarks/python/README.md                  |  94 +++++++++---------
 docs/benchmarks/python/mediacontent.png           | Bin 51723 -> 49225 bytes
 docs/benchmarks/python/mediacontentlist.png       | Bin 56440 -> 57029 bytes
 docs/benchmarks/python/sample.png                 | Bin 47563 -> 54242 bytes
 docs/benchmarks/python/samplelist.png             | Bin 48300 -> 50755 bytes
 docs/benchmarks/python/struct.png                 | Bin 53286 -> 59672 bytes
 docs/benchmarks/python/structlist.png             | Bin 50022 -> 49470 bytes
 docs/benchmarks/python/throughput.png             | Bin 74287 -> 108399 bytes
 docs/benchmarks/rust/README.md                    |  84 ++++++++---------
 docs/benchmarks/rust/mediacontent.png             | Bin 54130 -> 55557 bytes
 docs/benchmarks/rust/mediacontentlist.png         | Bin 54154 -> 57391 bytes
 docs/benchmarks/rust/sample.png                   | Bin 44641 -> 51923 bytes
 docs/benchmarks/rust/samplelist.png               | Bin 46992 -> 54937 bytes
 docs/benchmarks/rust/struct.png                   | Bin 49558 -> 52616 bytes
 docs/benchmarks/rust/structlist.png               | Bin 45987 -> 50910 bytes
 docs/benchmarks/rust/throughput.png               | Bin 75422 -> 112113 bytes
 docs/benchmarks/swift/README.md                   |  46 ++++-----
 docs/benchmarks/swift/throughput.png              | Bin 84759 -> 106898 bytes
 61 files changed, 395 insertions(+), 337 deletions(-)

diff --git a/docs/benchmarks/cpp/README.md b/docs/benchmarks/cpp/README.md
index 0d7c25a602..156869e3e8 100644
--- a/docs/benchmarks/cpp/README.md
+++ b/docs/benchmarks/cpp/README.md
@@ -1,6 +1,6 @@
 # C++ Benchmark Performance Report
 
-_Generated on 2026-04-29 21:16:35_
+_Generated on 2026-05-08 03:30:03_
 
 ## How to Generate This Report
 
@@ -21,7 +21,7 @@ python benchmark_report.py --json-file 
build/benchmark_results.json --output-dir
 | CPU Cores (Physical)       | 12                        |
 | CPU Cores (Logical)        | 12                        |
 | Total RAM (GB)             | 48.0                      |
-| Benchmark Date             | 2026-04-29T21:15:49+08:00 |
+| Benchmark Date             | 2026-05-08T03:29:26+08:00 |
 | CPU Cores (from benchmark) | 12                        |
 
 ## Benchmark Plots
@@ -32,73 +32,73 @@ All class-level plots below show throughput (ops/sec).
 
 ![Throughput](throughput.png)
 
-### Struct
+### NumericStruct
 
-![Struct](struct.png)
+![NumericStruct](struct.png)
 
 ### Sample
 
 ![Sample](sample.png)
 
-### Mediacontent
+### MediaContent
 
-![Mediacontent](mediacontent.png)
+![MediaContent](mediacontent.png)
 
-### Structlist
+### NumericStructList
 
-![Structlist](structlist.png)
+![NumericStructList](structlist.png)
 
-### Samplelist
+### SampleList
 
-![Samplelist](samplelist.png)
+![SampleList](samplelist.png)
 
-### Mediacontentlist
+### MediaContentList
 
-![Mediacontentlist](mediacontentlist.png)
+![MediaContentList](mediacontentlist.png)
 
 ## Benchmark Results
 
 ### Timing Results (nanoseconds)
 
-| Datatype         | Operation   | fory (ns) | protobuf (ns) | msgpack (ns) | 
Fastest |
-| ---------------- | ----------- | --------- | ------------- | ------------ | 
------- |
-| Struct           | Serialize   | 25.6      | 34.3          | 54.3         | 
fory    |
-| Struct           | Deserialize | 23.1      | 25.5          | 769.9        | 
fory    |
-| Sample           | Serialize   | 68.4      | 96.6          | 317.8        | 
fory    |
-| Sample           | Deserialize | 326.2     | 662.5         | 2633.8       | 
fory    |
-| MediaContent     | Serialize   | 119.5     | 854.1         | 292.7        | 
fory    |
-| MediaContent     | Deserialize | 391.2     | 1207.2        | 2809.7       | 
fory    |
-| StructList       | Serialize   | 72.6      | 421.4         | 286.4        | 
fory    |
-| StructList       | Deserialize | 122.7     | 364.1         | 3400.5       | 
fory    |
-| SampleList       | Serialize   | 284.0     | 4898.1        | 1549.8       | 
fory    |
-| SampleList       | Deserialize | 1824.8    | 5047.4        | 13206.2      | 
fory    |
-| MediaContentList | Serialize   | 477.8     | 4788.9        | 1461.9       | 
fory    |
-| MediaContentList | Deserialize | 2053.4    | 6561.8        | 13702.4      | 
fory    |
+| Datatype          | Operation   | fory (ns) | protobuf (ns) | msgpack (ns) | 
Fastest |
+| ----------------- | ----------- | --------- | ------------- | ------------ | 
------- |
+| NumericStruct     | Serialize   | 23.6      | 48.9          | 81.8         | 
fory    |
+| NumericStruct     | Deserialize | 25.7      | 32.4          | 1171.3       | 
fory    |
+| Sample            | Serialize   | 62.0      | 96.1          | 308.3        | 
fory    |
+| Sample            | Deserialize | 329.1     | 678.9         | 2712.6       | 
fory    |
+| MediaContent      | Serialize   | 114.2     | 878.1         | 293.4        | 
fory    |
+| MediaContent      | Deserialize | 417.4     | 1202.5        | 2748.2       | 
fory    |
+| NumericStructList | Serialize   | 81.7      | 495.5         | 419.7        | 
fory    |
+| NumericStructList | Deserialize | 171.5     | 405.8         | 5309.0       | 
fory    |
+| SampleList        | Serialize   | 279.3     | 4992.3        | 1563.2       | 
fory    |
+| SampleList        | Deserialize | 1784.6    | 5065.2        | 13040.9      | 
fory    |
+| MediaContentList  | Serialize   | 485.3     | 4798.9        | 1479.4       | 
fory    |
+| MediaContentList  | Deserialize | 2235.5    | 6482.6        | 13797.8      | 
fory    |
 
 ### Throughput Results (ops/sec)
 
-| Datatype         | Operation   | fory TPS   | protobuf TPS | msgpack TPS | 
Fastest |
-| ---------------- | ----------- | ---------- | ------------ | ----------- | 
------- |
-| Struct           | Serialize   | 39,028,134 | 29,190,083   | 18,400,879  | 
fory    |
-| Struct           | Deserialize | 43,236,159 | 39,162,796   | 1,298,861   | 
fory    |
-| Sample           | Serialize   | 14,612,190 | 10,356,947   | 3,146,384   | 
fory    |
-| Sample           | Deserialize | 3,065,887  | 1,509,472    | 379,673     | 
fory    |
-| MediaContent     | Serialize   | 8,364,768  | 1,170,804    | 3,416,327   | 
fory    |
-| MediaContent     | Deserialize | 2,556,154  | 828,370      | 355,913     | 
fory    |
-| StructList       | Serialize   | 13,768,856 | 2,373,115    | 3,491,609   | 
fory    |
-| StructList       | Deserialize | 8,149,855  | 2,746,704    | 294,075     | 
fory    |
-| SampleList       | Serialize   | 3,521,702  | 204,162      | 645,233     | 
fory    |
-| SampleList       | Deserialize | 547,995    | 198,123      | 75,722      | 
fory    |
-| MediaContentList | Serialize   | 2,092,938  | 208,817      | 684,050     | 
fory    |
-| MediaContentList | Deserialize | 486,993    | 152,398      | 72,980      | 
fory    |
+| Datatype          | Operation   | fory TPS   | protobuf TPS | msgpack TPS | 
Fastest |
+| ----------------- | ----------- | ---------- | ------------ | ----------- | 
------- |
+| NumericStruct     | Serialize   | 42,340,747 | 20,456,013   | 12,223,421  | 
fory    |
+| NumericStruct     | Deserialize | 38,921,757 | 30,876,920   | 853,731     | 
fory    |
+| Sample            | Serialize   | 16,120,239 | 10,402,361   | 3,243,915   | 
fory    |
+| Sample            | Deserialize | 3,038,551  | 1,473,035    | 368,652     | 
fory    |
+| MediaContent      | Serialize   | 8,760,221  | 1,138,812    | 3,408,303   | 
fory    |
+| MediaContent      | Deserialize | 2,395,697  | 831,626      | 363,876     | 
fory    |
+| NumericStructList | Serialize   | 12,246,425 | 2,018,049    | 2,382,679   | 
fory    |
+| NumericStructList | Deserialize | 5,829,352  | 2,464,295    | 188,358     | 
fory    |
+| SampleList        | Serialize   | 3,579,741  | 200,307      | 639,695     | 
fory    |
+| SampleList        | Deserialize | 560,346    | 197,425      | 76,682      | 
fory    |
+| MediaContentList  | Serialize   | 2,060,531  | 208,381      | 675,956     | 
fory    |
+| MediaContentList  | Deserialize | 447,319    | 154,259      | 72,475      | 
fory    |
 
 ### Serialized Data Sizes (bytes)
 
-| Datatype         | fory | protobuf | msgpack |
-| ---------------- | ---- | -------- | ------- |
-| Struct           | 58   | 61       | 55      |
-| Sample           | 446  | 375      | 530     |
-| MediaContent     | 365  | 301      | 480     |
-| StructList       | 184  | 315      | 289     |
-| SampleList       | 1980 | 1890     | 2664    |
-| MediaContentList | 1535 | 1520     | 2421    |
+| Datatype          | fory | protobuf | msgpack |
+| ----------------- | ---- | -------- | ------- |
+| NumericStruct     | 78   | 93       | 87      |
+| Sample            | 445  | 375      | 530     |
+| MediaContent      | 362  | 301      | 480     |
+| NumericStructList | 255  | 475      | 449     |
+| SampleList        | 1978 | 1890     | 2664    |
+| MediaContentList  | 1531 | 1520     | 2421    |
diff --git a/docs/benchmarks/cpp/mediacontent.png 
b/docs/benchmarks/cpp/mediacontent.png
index 6cb9660855..5ed5ba3ffc 100644
Binary files a/docs/benchmarks/cpp/mediacontent.png and 
b/docs/benchmarks/cpp/mediacontent.png differ
diff --git a/docs/benchmarks/cpp/mediacontentlist.png 
b/docs/benchmarks/cpp/mediacontentlist.png
index 267ff574f5..f3a6b47ef1 100644
Binary files a/docs/benchmarks/cpp/mediacontentlist.png and 
b/docs/benchmarks/cpp/mediacontentlist.png differ
diff --git a/docs/benchmarks/cpp/sample.png b/docs/benchmarks/cpp/sample.png
index bb25b54337..4d8290abbd 100644
Binary files a/docs/benchmarks/cpp/sample.png and 
b/docs/benchmarks/cpp/sample.png differ
diff --git a/docs/benchmarks/cpp/samplelist.png 
b/docs/benchmarks/cpp/samplelist.png
index bdaa4f05d1..3161372328 100644
Binary files a/docs/benchmarks/cpp/samplelist.png and 
b/docs/benchmarks/cpp/samplelist.png differ
diff --git a/docs/benchmarks/cpp/struct.png b/docs/benchmarks/cpp/struct.png
index 398ab52f80..81d8b838c8 100644
Binary files a/docs/benchmarks/cpp/struct.png and 
b/docs/benchmarks/cpp/struct.png differ
diff --git a/docs/benchmarks/cpp/structlist.png 
b/docs/benchmarks/cpp/structlist.png
index 47c5f680f0..1e25666a8e 100644
Binary files a/docs/benchmarks/cpp/structlist.png and 
b/docs/benchmarks/cpp/structlist.png differ
diff --git a/docs/benchmarks/cpp/throughput.png 
b/docs/benchmarks/cpp/throughput.png
index 525f58ff72..ac557797b8 100644
Binary files a/docs/benchmarks/cpp/throughput.png and 
b/docs/benchmarks/cpp/throughput.png differ
diff --git a/docs/benchmarks/csharp/README.md b/docs/benchmarks/csharp/README.md
index f7745bf047..62a8756055 100644
--- a/docs/benchmarks/csharp/README.md
+++ b/docs/benchmarks/csharp/README.md
@@ -1,6 +1,6 @@
 # C# Benchmark Performance Report
 
-_Generated on 2026-03-11 02:14:01_
+_Generated on 2026-05-08 03:33:12_
 
 ## How to Generate This Report
 
@@ -18,7 +18,7 @@ python3 benchmark_report.py --json-file 
build/benchmark_results.json --output-di
 | OS Architecture                    | Arm64                                   
                                                                                
     |
 | Machine                            | Arm64                                   
                                                                                
     |
 | Runtime Version                    | 8.0.24                                  
                                                                                
     |
-| Benchmark Date (UTC)               | 2026-03-10T18:14:00.0852460Z            
                                                                                
     |
+| Benchmark Date (UTC)               | 2026-05-07T19:33:11.3470280Z            
                                                                                
     |
 | Warmup Seconds                     | 1                                       
                                                                                
     |
 | Duration Seconds                   | 3                                       
                                                                                
     |
 | CPU Logical Cores (from benchmark) | 12                                      
                                                                                
     |
@@ -43,73 +43,73 @@ All class-level plots below show throughput (ops/sec).
 
 ![Throughput](throughput.png)
 
-### Mediacontent
+### MediaContent
 
-![Mediacontent](mediacontent.png)
+![MediaContent](mediacontent.png)
 
-### Mediacontentlist
+### MediaContentList
 
-![Mediacontentlist](mediacontentlist.png)
+![MediaContentList](mediacontentlist.png)
 
 ### Sample
 
 ![Sample](sample.png)
 
-### Samplelist
+### SampleList
 
-![Samplelist](samplelist.png)
+![SampleList](samplelist.png)
 
-### Struct
+### NumericStruct
 
-![Struct](struct.png)
+![NumericStruct](struct.png)
 
-### Structlist
+### NumericStructList
 
-![Structlist](structlist.png)
+![NumericStructList](structlist.png)
 
 ## Benchmark Results
 
 ### Timing Results (nanoseconds)
 
-| Datatype         | Operation   | fory (ns) | protobuf (ns) | msgpack (ns) | 
Fastest |
-| ---------------- | ----------- | --------- | ------------- | ------------ | 
------- |
-| Struct           | Serialize   | 39.2      | 121.5         | 66.0         | 
fory    |
-| Struct           | Deserialize | 58.3      | 180.1         | 102.6        | 
fory    |
-| Sample           | Serialize   | 269.2     | 562.6         | 339.6        | 
fory    |
-| Sample           | Deserialize | 175.6     | 1084.9        | 531.8        | 
fory    |
-| MediaContent     | Serialize   | 306.3     | 434.7         | 351.5        | 
fory    |
-| MediaContent     | Deserialize | 379.4     | 718.8         | 676.9        | 
fory    |
-| StructList       | Serialize   | 136.1     | 468.5         | 266.9        | 
fory    |
-| StructList       | Deserialize | 221.1     | 687.0         | 488.5        | 
fory    |
-| SampleList       | Serialize   | 1198.9    | 2811.9        | 1635.7       | 
fory    |
-| SampleList       | Deserialize | 791.5     | 5174.5        | 2629.2       | 
fory    |
-| MediaContentList | Serialize   | 1393.9    | 2199.4        | 1710.9       | 
fory    |
-| MediaContentList | Deserialize | 1719.5    | 3373.1        | 3401.2       | 
fory    |
+| Datatype          | Operation   | fory (ns) | protobuf (ns) | msgpack (ns) | 
Fastest |
+| ----------------- | ----------- | --------- | ------------- | ------------ | 
------- |
+| NumericStruct     | Serialize   | 48.1      | 153.4         | 101.8        | 
fory    |
+| NumericStruct     | Deserialize | 66.6      | 230.5         | 139.2        | 
fory    |
+| Sample            | Serialize   | 264.2     | 587.4         | 357.5        | 
fory    |
+| Sample            | Deserialize | 173.4     | 1117.6        | 535.4        | 
fory    |
+| MediaContent      | Serialize   | 318.4     | 460.0         | 358.7        | 
fory    |
+| MediaContent      | Deserialize | 416.4     | 765.3         | 702.2        | 
fory    |
+| NumericStructList | Serialize   | 177.8     | 627.9         | 418.7        | 
fory    |
+| NumericStructList | Deserialize | 276.6     | 921.6         | 673.6        | 
fory    |
+| SampleList        | Serialize   | 1223.2    | 2864.3        | 1733.2       | 
fory    |
+| SampleList        | Deserialize | 811.7     | 5398.9        | 2663.9       | 
fory    |
+| MediaContentList  | Serialize   | 1464.7    | 2264.3        | 1757.8       | 
fory    |
+| MediaContentList  | Deserialize | 1805.5    | 3604.5        | 3485.5       | 
fory    |
 
 ### Throughput Results (ops/sec)
 
-| Datatype         | Operation   | fory TPS   | protobuf TPS | msgpack TPS | 
Fastest |
-| ---------------- | ----------- | ---------- | ------------ | ----------- | 
------- |
-| Struct           | Serialize   | 25,535,535 | 8,233,006    | 15,153,903  | 
fory    |
-| Struct           | Deserialize | 17,164,793 | 5,553,220    | 9,745,096   | 
fory    |
-| Sample           | Serialize   | 3,715,302  | 1,777,405    | 2,944,981   | 
fory    |
-| Sample           | Deserialize | 5,696,108  | 921,760      | 1,880,420   | 
fory    |
-| MediaContent     | Serialize   | 3,264,890  | 2,300,297    | 2,845,038   | 
fory    |
-| MediaContent     | Deserialize | 2,635,449  | 1,391,138    | 1,477,346   | 
fory    |
-| StructList       | Serialize   | 7,347,503  | 2,134,576    | 3,746,866   | 
fory    |
-| StructList       | Deserialize | 4,522,114  | 1,455,557    | 2,046,988   | 
fory    |
-| SampleList       | Serialize   | 834,086    | 355,633      | 611,365     | 
fory    |
-| SampleList       | Deserialize | 1,263,450  | 193,254      | 380,338     | 
fory    |
-| MediaContentList | Serialize   | 717,408    | 454,670      | 584,497     | 
fory    |
-| MediaContentList | Deserialize | 581,554    | 296,459      | 294,015     | 
fory    |
+| Datatype          | Operation   | fory TPS   | protobuf TPS | msgpack TPS | 
Fastest |
+| ----------------- | ----------- | ---------- | ------------ | ----------- | 
------- |
+| NumericStruct     | Serialize   | 20,789,902 | 6,517,124    | 9,824,350   | 
fory    |
+| NumericStruct     | Deserialize | 15,012,843 | 4,337,643    | 7,182,355   | 
fory    |
+| Sample            | Serialize   | 3,785,458  | 1,702,392    | 2,797,102   | 
fory    |
+| Sample            | Deserialize | 5,765,682  | 894,796      | 1,867,599   | 
fory    |
+| MediaContent      | Serialize   | 3,141,058  | 2,173,936    | 2,787,836   | 
fory    |
+| MediaContent      | Deserialize | 2,401,552  | 1,306,689    | 1,424,121   | 
fory    |
+| NumericStructList | Serialize   | 5,625,375  | 1,592,535    | 2,388,188   | 
fory    |
+| NumericStructList | Deserialize | 3,615,288  | 1,085,025    | 1,484,484   | 
fory    |
+| SampleList        | Serialize   | 817,528    | 349,125      | 576,972     | 
fory    |
+| SampleList        | Deserialize | 1,231,958  | 185,223      | 375,385     | 
fory    |
+| MediaContentList  | Serialize   | 682,734    | 441,639      | 568,884     | 
fory    |
+| MediaContentList  | Deserialize | 553,871    | 277,432      | 286,900     | 
fory    |
 
 ### Serialized Data Sizes (bytes)
 
-| Datatype         | fory | protobuf | msgpack |
-| ---------------- | ---- | -------- | ------- |
-| Struct           | 58   | 61       | 55      |
-| Sample           | 446  | 460      | 562     |
-| MediaContent     | 365  | 307      | 479     |
-| StructList       | 184  | 315      | 284     |
-| SampleList       | 1980 | 2315     | 2819    |
-| MediaContentList | 1535 | 1550     | 2404    |
+| Datatype          | fory | protobuf | msgpack |
+| ----------------- | ---- | -------- | ------- |
+| NumericStruct     | 78   | 93       | 87      |
+| Sample            | 445  | 460      | 562     |
+| MediaContent      | 362  | 307      | 479     |
+| NumericStructList | 255  | 475      | 444     |
+| SampleList        | 1978 | 2315     | 2819    |
+| MediaContentList  | 1531 | 1550     | 2404    |
diff --git a/docs/benchmarks/csharp/mediacontent.png 
b/docs/benchmarks/csharp/mediacontent.png
index 052229ba82..04ecbc2f0c 100644
Binary files a/docs/benchmarks/csharp/mediacontent.png and 
b/docs/benchmarks/csharp/mediacontent.png differ
diff --git a/docs/benchmarks/csharp/mediacontentlist.png 
b/docs/benchmarks/csharp/mediacontentlist.png
index 81854b8761..5f106c6295 100644
Binary files a/docs/benchmarks/csharp/mediacontentlist.png and 
b/docs/benchmarks/csharp/mediacontentlist.png differ
diff --git a/docs/benchmarks/csharp/sample.png 
b/docs/benchmarks/csharp/sample.png
index 77ccabc0c3..18ce39c5cb 100644
Binary files a/docs/benchmarks/csharp/sample.png and 
b/docs/benchmarks/csharp/sample.png differ
diff --git a/docs/benchmarks/csharp/samplelist.png 
b/docs/benchmarks/csharp/samplelist.png
index 93a9c50185..9adb52a37f 100644
Binary files a/docs/benchmarks/csharp/samplelist.png and 
b/docs/benchmarks/csharp/samplelist.png differ
diff --git a/docs/benchmarks/csharp/struct.png 
b/docs/benchmarks/csharp/struct.png
index 39e32751bc..6d1a2a1ac2 100644
Binary files a/docs/benchmarks/csharp/struct.png and 
b/docs/benchmarks/csharp/struct.png differ
diff --git a/docs/benchmarks/csharp/structlist.png 
b/docs/benchmarks/csharp/structlist.png
index 7925593370..137a868acf 100644
Binary files a/docs/benchmarks/csharp/structlist.png and 
b/docs/benchmarks/csharp/structlist.png differ
diff --git a/docs/benchmarks/csharp/throughput.png 
b/docs/benchmarks/csharp/throughput.png
index 77b696c9b4..00b97d0984 100644
Binary files a/docs/benchmarks/csharp/throughput.png and 
b/docs/benchmarks/csharp/throughput.png differ
diff --git a/docs/benchmarks/dart/README.md b/docs/benchmarks/dart/README.md
index f1bbf98a22..47773d2f86 100644
--- a/docs/benchmarks/dart/README.md
+++ b/docs/benchmarks/dart/README.md
@@ -1,12 +1,12 @@
 # Fory Dart Benchmark
 
-This benchmark compares serialization and deserialization throughput for 
Apache Fory and Protocol Buffers in Dart.
+This benchmark compares serialization and deserialization throughput for 
Apache Fory, Protocol Buffers, and JSON in Dart.
 
 ## Hardware and Runtime Info
 
 | Key                   | Value                                                
             |
 | --------------------- | 
----------------------------------------------------------------- |
-| Timestamp             | 2026-05-07T09:12:52.301869Z                          
             |
+| Timestamp             | 2026-05-07T19:42:18.589207Z                          
             |
 | OS                    | Version 15.7.2 (Build 24G325)                        
             |
 | Host                  | MacBook-Pro.local                                    
             |
 | CPU Cores (Logical)   | 12                                                   
             |
@@ -20,37 +20,37 @@ This benchmark compares serialization and deserialization 
throughput for Apache
 
 ![Throughput](throughput.png)
 
-| Datatype         | Operation   |   Fory TPS | Protobuf TPS | Fastest       |
-| ---------------- | ----------- | ---------: | -----------: | ------------- |
-| Struct           | Serialize   |  9,631,226 |    2,134,738 | fory (4.51x)  |
-| Struct           | Deserialize | 10,449,715 |    4,968,658 | fory (2.10x)  |
-| Sample           | Serialize   |  2,468,767 |      536,410 | fory (4.60x)  |
-| Sample           | Deserialize |  2,393,903 |      901,767 | fory (2.65x)  |
-| MediaContent     | Serialize   |  1,162,191 |      431,591 | fory (2.69x)  |
-| MediaContent     | Deserialize |  2,005,785 |      767,396 | fory (2.61x)  |
-| StructList       | Serialize   |  2,851,755 |      374,020 | fory (7.62x)  |
-| StructList       | Deserialize |  3,768,194 |      740,750 | fory (5.09x)  |
-| SampleList       | Serialize   |    568,405 |       48,603 | fory (11.69x) |
-| SampleList       | Deserialize |    546,914 |      111,151 | fory (4.92x)  |
-| MediaContentList | Serialize   |    270,092 |       83,028 | fory (3.25x)  |
-| MediaContentList | Deserialize |    454,291 |      149,294 | fory (3.04x)  |
+| Datatype          | Operation   |  Fory TPS | Protobuf TPS |  JSON TPS | 
Fastest       |
+| ----------------- | ----------- | --------: | -----------: | --------: | 
------------- |
+| NumericStruct     | Serialize   | 9,315,764 |    1,609,183 |   768,972 | 
fory (5.79x)  |
+| NumericStruct     | Deserialize | 9,239,326 |    3,304,725 | 1,392,396 | 
fory (2.80x)  |
+| Sample            | Serialize   | 2,513,144 |      553,880 |   137,741 | 
fory (4.54x)  |
+| Sample            | Deserialize | 2,394,927 |      930,969 |   242,522 | 
fory (2.57x)  |
+| MediaContent      | Serialize   | 1,193,789 |      432,224 |   232,731 | 
fory (2.76x)  |
+| MediaContent      | Deserialize | 2,015,704 |      774,578 |   252,242 | 
fory (2.60x)  |
+| NumericStructList | Serialize   | 2,565,386 |      292,207 |   144,065 | 
fory (8.78x)  |
+| NumericStructList | Deserialize | 3,079,355 |      542,152 |   268,213 | 
fory (5.68x)  |
+| SampleList        | Serialize   |   587,773 |       50,180 |    26,101 | 
fory (11.71x) |
+| SampleList        | Deserialize |   532,619 |      111,270 |    48,355 | 
fory (4.79x)  |
+| MediaContentList  | Serialize   |   275,271 |       81,587 |    43,376 | 
fory (3.37x)  |
+| MediaContentList  | Deserialize |   459,335 |      150,838 |    50,792 | 
fory (3.05x)  |
 
 ## Serialized Size (bytes)
 
-| Datatype         | Fory | Protobuf |
-| ---------------- | ---: | -------: |
-| Struct           |   57 |       61 |
-| Sample           |  445 |      377 |
-| MediaContent     |  362 |      307 |
-| StructList       |  182 |      315 |
-| SampleList       | 1978 |     1900 |
-| MediaContentList | 1531 |     1550 |
+| Datatype          | Fory | Protobuf | JSON |
+| ----------------- | ---: | -------: | ---: |
+| NumericStruct     |   78 |       93 |  159 |
+| Sample            |  445 |      377 |  791 |
+| MediaContent      |  362 |      307 |  619 |
+| NumericStructList |  255 |      475 |  816 |
+| SampleList        | 1978 |     1900 | 3976 |
+| MediaContentList  | 1531 |     1550 | 3122 |
 
 ## Per-workload Plots
 
-### Struct
+### NumericStruct
 
-![Struct](struct.png)
+![NumericStruct](struct.png)
 
 ### Sample
 
@@ -60,9 +60,9 @@ This benchmark compares serialization and deserialization 
throughput for Apache
 
 ![MediaContent](mediacontent.png)
 
-### StructList
+### NumericStructList
 
-![StructList](structlist.png)
+![NumericStructList](structlist.png)
 
 ### SampleList
 
diff --git a/docs/benchmarks/dart/mediacontent.png 
b/docs/benchmarks/dart/mediacontent.png
index 9538800879..55740b867e 100644
Binary files a/docs/benchmarks/dart/mediacontent.png and 
b/docs/benchmarks/dart/mediacontent.png differ
diff --git a/docs/benchmarks/dart/mediacontentlist.png 
b/docs/benchmarks/dart/mediacontentlist.png
index b76bf70b4d..74f0952dfd 100644
Binary files a/docs/benchmarks/dart/mediacontentlist.png and 
b/docs/benchmarks/dart/mediacontentlist.png differ
diff --git a/docs/benchmarks/dart/sample.png b/docs/benchmarks/dart/sample.png
index fcdc6bd1c5..442cec5fff 100644
Binary files a/docs/benchmarks/dart/sample.png and 
b/docs/benchmarks/dart/sample.png differ
diff --git a/docs/benchmarks/dart/samplelist.png 
b/docs/benchmarks/dart/samplelist.png
index c9d11d8753..874c8e6427 100644
Binary files a/docs/benchmarks/dart/samplelist.png and 
b/docs/benchmarks/dart/samplelist.png differ
diff --git a/docs/benchmarks/dart/struct.png b/docs/benchmarks/dart/struct.png
index 33b586d44f..c2765ca99a 100644
Binary files a/docs/benchmarks/dart/struct.png and 
b/docs/benchmarks/dart/struct.png differ
diff --git a/docs/benchmarks/dart/structlist.png 
b/docs/benchmarks/dart/structlist.png
index 7d4710a59b..8e74ba111c 100644
Binary files a/docs/benchmarks/dart/structlist.png and 
b/docs/benchmarks/dart/structlist.png differ
diff --git a/docs/benchmarks/dart/throughput.png 
b/docs/benchmarks/dart/throughput.png
index bdc34219d3..58abab8da0 100644
Binary files a/docs/benchmarks/dart/throughput.png and 
b/docs/benchmarks/dart/throughput.png differ
diff --git a/docs/benchmarks/go/README.md b/docs/benchmarks/go/README.md
index 7195fe88d5..7403afbd0b 100644
--- a/docs/benchmarks/go/README.md
+++ b/docs/benchmarks/go/README.md
@@ -1,58 +1,84 @@
 # Go Serialization Benchmark Report
 
-Generated: 2026-02-06 11:26:58
+Generated: 2026-05-08 03:21:36
 
 ## System Information
 
 - **OS**: Darwin 24.6.0
 - **Architecture**: arm64
-- **Python**: 3.10.8
-
-## Performance Charts
-
-![Benchmark](benchmark_combined.png)
+- **Python**: 3.9.6
 
 ## Performance Summary
 
-| Data Type        | Operation   | Fory (ops/s) | Protobuf (ops/s) | Msgpack 
(ops/s) | Fory vs PB | Fory vs MP |
-| ---------------- | ----------- | ------------ | ---------------- | 
--------------- | ---------- | ---------- |
-| Struct           | Serialize   | 15.16M       | 10.23M           | 5.41M     
      | 1.48x      | 2.80x      |
-| Struct           | Deserialize | 12.10M       | 11.01M           | 3.23M     
      | 1.10x      | 3.75x      |
-| Structlist       | Serialize   | 1.58M        | 561K             | 299K      
      | 2.82x      | 5.28x      |
-| Structlist       | Deserialize | 1.10M        | 529K             | 175K      
      | 2.09x      | 6.30x      |
-| Sample           | Serialize   | 7.28M        | 2.72M            | 670K      
      | 2.68x      | 10.87x     |
-| Sample           | Deserialize | 3.79M        | 2.37M            | 376K      
      | 1.60x      | 10.09x     |
-| Samplelist       | Serialize   | 510K         | 141K             | 38K       
      | 3.61x      | 13.34x     |
-| Samplelist       | Deserialize | 236K         | 107K             | 19K       
      | 2.20x      | 12.66x     |
-| Mediacontent     | Serialize   | 3.72M        | 2.12M            | 1.29M     
      | 1.75x      | 2.88x      |
-| Mediacontent     | Deserialize | 2.34M        | 1.81M            | 698K      
      | 1.30x      | 3.35x      |
-| Mediacontentlist | Serialize   | 268K         | 110K             | 72K       
      | 2.44x      | 3.72x      |
-| Mediacontentlist | Deserialize | 138K         | 87K              | 36K       
      | 1.58x      | 3.86x      |
+| Data Type         | Operation   | Fory (ops/s) | Protobuf (ops/s) | Msgpack 
(ops/s) | Fory vs PB | Fory vs MP |
+| ----------------- | ----------- | ------------ | ---------------- | 
--------------- | ---------- | ---------- |
+| NumericStruct     | Serialize   | 12.58M       | 6.96M            | 3.66M    
       | 1.81x      | 3.43x      |
+| NumericStruct     | Deserialize | 10.60M       | 8.15M            | 1.99M    
       | 1.30x      | 5.32x      |
+| Sample            | Serialize   | 7.09M        | 2.55M            | 640K     
       | 2.78x      | 11.08x     |
+| Sample            | Deserialize | 3.44M        | 2.16M            | 346K     
       | 1.59x      | 9.93x      |
+| MediaContent      | Serialize   | 3.83M        | 1.90M            | 1.14M    
       | 2.02x      | 3.36x      |
+| MediaContent      | Deserialize | 2.10M        | 1.61M            | 661K     
       | 1.30x      | 3.18x      |
+| NumericStructList | Serialize   | 1.07M        | 376K             | 205K     
       | 2.86x      | 5.23x      |
+| NumericStructList | Deserialize | 1.10M        | 374K             | 102K     
       | 2.94x      | 10.74x     |
+| SampleList        | Serialize   | 505K         | 130K             | 37K      
       | 3.88x      | 13.73x     |
+| SampleList        | Deserialize | 212K         | 101K             | 17K      
       | 2.10x      | 12.40x     |
+| MediaContentList  | Serialize   | 260K         | 98K              | 65K      
       | 2.66x      | 3.97x      |
+| MediaContentList  | Deserialize | 124K         | 80K              | 33K      
       | 1.56x      | 3.82x      |
 
 ## Detailed Timing (ns/op)
 
-| Data Type        | Operation   | Fory   | Protobuf | Msgpack |
-| ---------------- | ----------- | ------ | -------- | ------- |
-| Struct           | Serialize   | 66.0   | 97.8     | 184.9   |
-| Struct           | Deserialize | 82.7   | 90.9     | 309.6   |
-| Structlist       | Serialize   | 632.8  | 1783.0   | 3340.0  |
-| Structlist       | Deserialize | 906.4  | 1891.0   | 5709.0  |
-| Sample           | Serialize   | 137.3  | 367.3    | 1492.0  |
-| Sample           | Deserialize | 263.6  | 422.2    | 2661.0  |
-| Samplelist       | Serialize   | 1962.0 | 7087.0   | 26169.0 |
-| Samplelist       | Deserialize | 4234.0 | 9321.0   | 53615.0 |
-| Mediacontent     | Serialize   | 268.8  | 471.1    | 773.7   |
-| Mediacontent     | Deserialize | 426.9  | 553.1    | 1432.0  |
-| Mediacontentlist | Serialize   | 3736.0 | 9107.0   | 13911.0 |
-| Mediacontentlist | Deserialize | 7247.0 | 11435.0  | 27975.0 |
+| Data Type         | Operation   | Fory   | Protobuf | Msgpack |
+| ----------------- | ----------- | ------ | -------- | ------- |
+| NumericStruct     | Serialize   | 79.5   | 143.7    | 273.0   |
+| NumericStruct     | Deserialize | 94.3   | 122.7    | 501.7   |
+| Sample            | Serialize   | 141.0  | 391.7    | 1562.0  |
+| Sample            | Deserialize | 290.6  | 462.2    | 2887.0  |
+| MediaContent      | Serialize   | 261.1  | 526.8    | 876.5   |
+| MediaContent      | Deserialize | 476.0  | 619.4    | 1513.0  |
+| NumericStructList | Serialize   | 930.6  | 2661.0   | 4868.0  |
+| NumericStructList | Deserialize | 909.3  | 2675.0   | 9767.0  |
+| SampleList        | Serialize   | 1979.0 | 7671.0   | 27168.0 |
+| SampleList        | Deserialize | 4709.0 | 9893.0   | 58414.0 |
+| MediaContentList  | Serialize   | 3846.0 | 10212.0  | 15272.0 |
+| MediaContentList  | Deserialize | 8055.0 | 12552.0  | 30730.0 |
 
 ### Serialized Data Sizes (bytes)
 
-| Data Type        | Fory | Protobuf | Msgpack |
-| ---------------- | ---- | -------- | ------- |
-| Struct           | 58   | 61       | 57      |
-| Sample           | 446  | 375      | 524     |
-| MediaContent     | 342  | 301      | 400     |
-| StructList       | 560  | 1260     | 1146    |
-| SampleList       | 7600 | 7560     | 10486   |
-| MediaContentList | 5776 | 6080     | 8006    |
+| Data Type         | Fory | Protobuf | Msgpack |
+| ----------------- | ---- | -------- | ------- |
+| NumericStruct     | 78   | 93       | 88      |
+| Sample            | 445  | 375      | 524     |
+| MediaContent      | 340  | 301      | 400     |
+| NumericStructList | 819  | 1900     | 1766    |
+| SampleList        | 7599 | 7560     | 10486   |
+| MediaContentList  | 5774 | 6080     | 8006    |
+
+## Performance Charts
+
+### Throughput
+
+![Throughput](throughput.png)
+
+### NumericStruct
+
+![NumericStruct Benchmark](benchmark_struct.png)
+
+### Sample
+
+![Sample Benchmark](benchmark_sample.png)
+
+### MediaContent
+
+![MediaContent Benchmark](benchmark_mediacontent.png)
+
+### NumericStructList
+
+![NumericStructList Benchmark](benchmark_structlist.png)
+
+### SampleList
+
+![SampleList Benchmark](benchmark_samplelist.png)
+
+### MediaContentList
+
+![MediaContentList Benchmark](benchmark_mediacontentlist.png)
diff --git a/docs/benchmarks/go/benchmark_mediacontent.png 
b/docs/benchmarks/go/benchmark_mediacontent.png
index dd914fc25b..568b0dd590 100644
Binary files a/docs/benchmarks/go/benchmark_mediacontent.png and 
b/docs/benchmarks/go/benchmark_mediacontent.png differ
diff --git a/docs/benchmarks/go/benchmark_mediacontentlist.png 
b/docs/benchmarks/go/benchmark_mediacontentlist.png
index 8c10cb933d..d068e81447 100644
Binary files a/docs/benchmarks/go/benchmark_mediacontentlist.png and 
b/docs/benchmarks/go/benchmark_mediacontentlist.png differ
diff --git a/docs/benchmarks/go/benchmark_sample.png 
b/docs/benchmarks/go/benchmark_sample.png
index 7984bae39d..027504a9d0 100644
Binary files a/docs/benchmarks/go/benchmark_sample.png and 
b/docs/benchmarks/go/benchmark_sample.png differ
diff --git a/docs/benchmarks/go/benchmark_samplelist.png 
b/docs/benchmarks/go/benchmark_samplelist.png
index 0f88771144..48b6e478d3 100644
Binary files a/docs/benchmarks/go/benchmark_samplelist.png and 
b/docs/benchmarks/go/benchmark_samplelist.png differ
diff --git a/docs/benchmarks/go/benchmark_struct.png 
b/docs/benchmarks/go/benchmark_struct.png
index e07c004ce7..690c5c3ebf 100644
Binary files a/docs/benchmarks/go/benchmark_struct.png and 
b/docs/benchmarks/go/benchmark_struct.png differ
diff --git a/docs/benchmarks/go/benchmark_structlist.png 
b/docs/benchmarks/go/benchmark_structlist.png
index 5a97780ac4..80b240588f 100644
Binary files a/docs/benchmarks/go/benchmark_structlist.png and 
b/docs/benchmarks/go/benchmark_structlist.png differ
diff --git a/docs/benchmarks/go/serialized_sizes.txt 
b/docs/benchmarks/go/serialized_sizes.txt
index 5a54edec6e..a64d3e1c05 100644
--- a/docs/benchmarks/go/serialized_sizes.txt
+++ b/docs/benchmarks/go/serialized_sizes.txt
@@ -1,27 +1,27 @@
 Serialized Sizes (bytes):
 ============================================
 NumericStruct:
-  Fory:     58 bytes
-  Protobuf: 61 bytes
-  Msgpack:  57 bytes
+  Fory:     78 bytes
+  Protobuf: 93 bytes
+  Msgpack:  88 bytes
 Sample:
-  Fory:     446 bytes
+  Fory:     445 bytes
   Protobuf: 375 bytes
   Msgpack:  524 bytes
 MediaContent:
-  Fory:     342 bytes
+  Fory:     340 bytes
   Protobuf: 301 bytes
   Msgpack:  400 bytes
-StructList:
-  Fory:     560 bytes
-  Protobuf: 1260 bytes
-  Msgpack:  1146 bytes
+NumericStructList:
+  Fory:     819 bytes
+  Protobuf: 1900 bytes
+  Msgpack:  1766 bytes
 SampleList:
-  Fory:     7600 bytes
+  Fory:     7599 bytes
   Protobuf: 7560 bytes
   Msgpack:  10486 bytes
 MediaContentList:
-  Fory:     5776 bytes
+  Fory:     5774 bytes
   Protobuf: 6080 bytes
   Msgpack:  8006 bytes
 ============================================
diff --git a/docs/benchmarks/go/throughput.png 
b/docs/benchmarks/go/throughput.png
new file mode 100644
index 0000000000..f7104d7d9c
Binary files /dev/null and b/docs/benchmarks/go/throughput.png differ
diff --git a/docs/benchmarks/java/README.md b/docs/benchmarks/java/README.md
index 59702a4c26..f3c6badb31 100644
--- a/docs/benchmarks/java/README.md
+++ b/docs/benchmarks/java/README.md
@@ -58,7 +58,7 @@ MEDIA_CONTENT is a class from 
[jvm-serializers](https://github.com/eishay/jvm-se
 
 SAMPLE is a class from [kryo 
benchmark](https://github.com/EsotericSoftware/kryo/blob/master/benchmarks/src/main/java/com/esotericsoftware/kryo/benchmarks/data/Sample.java)
 
-## Benchmark Plots
+## Java Benchmark
 
 ### Serialize to heap buffer
 
@@ -138,9 +138,9 @@ But if you serialize data between processes on same node 
and use shared-memory,
 
 ![Java Zero Copy Deserialization](java_zero_copy_deserialize.png)
 
-## Benchmark Data
+### Benchmark Data
 
-### Java Serialization
+#### Java Serialization
 
 | Benchmark              | objectType    | bufferType   | references | Fory    
       | ForyMetaShared  | Kryo           | Fst           | Hession       | Jdk 
          | Protostuff    |
 | ---------------------- | ------------- | ------------ | ---------- | 
-------------- | --------------- | -------------- | ------------- | 
------------- | ------------- | ------------- |
@@ -209,7 +209,7 @@ But if you serialize data between processes on same node 
and use shared-memory,
 | deserialize_compatible | SAMPLE        | directBuffer | False      | 
2308111.633661 | 2289261.533644  | 201993.787890  |               | 
124044.417439 |               |               |
 | deserialize_compatible | SAMPLE        | directBuffer | True       | 
1820490.585648 | 1927548.827586  | 174534.710870  |               | 
120276.449497 |               |               |
 
-### Java Zero-copy
+#### Java Zero-copy
 
 | Benchmark   | array_size | bufferType   | dataType        | Fory           | 
Kryo           | Fst            |
 | ----------- | ---------- | ------------ | --------------- | -------------- | 
-------------- | -------------- |
@@ -237,3 +237,31 @@ But if you serialize data between processes on same node 
and use shared-memory,
 | deserialize | 5000       | array        | PRIMITIVE_ARRAY | 40312.590172   | 
6122.351228    | 10672.872798   |
 | deserialize | 5000       | directBuffer | BUFFER          | 3284441.570594 | 
148614.476829  | 77950.612503   |
 | deserialize | 5000       | directBuffer | PRIMITIVE_ARRAY | 40413.743717   | 
21826.040410   | 8561.694533    |
+
+## Xlang Benchmark
+
+Run from `benchmarks/java/run.sh`. Raw JMH JSON stays under the ignored local 
`benchmarks/java/reports/` directory; only `throughput.png` is copied into 
`docs/benchmarks/java/`.
+
+```bash
+cd benchmarks/java
+./run.sh --output-dir ../../docs/benchmarks/java
+```
+
+JMH parameters: `-f 1 -wi 3 -i 3 -t 1 -w 3s -r 3s -bm thrpt -tu s`. Higher 
throughput is better.
+
+![Java Xlang Serialization Throughput](throughput.png)
+
+| Data type         | Operation   | Fory ops/sec | Protobuf ops/sec | 
Flatbuffer ops/sec | Fastest    |
+| ----------------- | ----------- | ------------ | ---------------- | 
------------------ | ---------- |
+| NumericStruct     | Serialize   | 35,509,283   | 16,293,680       | 
9,252,939          | Fory       |
+| NumericStruct     | Deserialize | 39,366,466   | 13,216,969       | 
44,655,865         | Flatbuffer |
+| Sample            | Serialize   | 18,210,799   | 2,004,689        | 
2,472,044          | Fory       |
+| Sample            | Deserialize | 18,342,162   | 1,869,185        | 
4,061,787          | Fory       |
+| MediaContent      | Serialize   | 10,637,892   | 3,270,255        | 
1,387,937          | Fory       |
+| MediaContent      | Deserialize | 9,091,945    | 2,512,194        | 
3,548,934          | Fory       |
+| NumericStructList | Serialize   | 11,321,689   | 2,617,864        | 
3,309,333          | Fory       |
+| NumericStructList | Deserialize | 12,088,544   | 2,091,938        | 
7,478,377          | Fory       |
+| SampleList        | Serialize   | 4,458,489    | 403,819          | 638,011  
          | Fory       |
+| SampleList        | Deserialize | 2,335,308    | 360,378          | 760,997  
          | Fory       |
+| MediaContentList  | Serialize   | 1,795,904    | 351,794          | 250,981  
          | Fory       |
+| MediaContentList  | Deserialize | 989,372      | 453,614          | 510,958  
          | Fory       |
diff --git a/docs/benchmarks/java/throughput.png 
b/docs/benchmarks/java/throughput.png
new file mode 100644
index 0000000000..b49d9721b1
Binary files /dev/null and b/docs/benchmarks/java/throughput.png differ
diff --git a/docs/benchmarks/javascript/README.md 
b/docs/benchmarks/javascript/README.md
index f51899233f..bb0691efe9 100644
--- a/docs/benchmarks/javascript/README.md
+++ b/docs/benchmarks/javascript/README.md
@@ -1,6 +1,6 @@
 # JavaScript Benchmark Performance Report
 
-_Generated on 2026-04-14 17:11:43_
+_Generated on 2026-05-08 11:29:18_
 
 ## How to Generate This Report
 
@@ -9,6 +9,10 @@ cd benchmarks/javascript
 ./run.sh
 ```
 
+## Benchmark Semantics
+
+The timed serializer loops use serializer-native typed values. Fory receives 
the pre-normalized Fory value used by its schema, protobuf receives the 
prebuilt protobuf-shaped value, and JSON receives the benchmark JavaScript 
object. Protobuf timings do not include `toProto`, `fromProto`, 
`protobufjs.create`, or `toObject` conversion work.
+
 ## Hardware & OS Info
 
 | Key                        | Value                    |
@@ -19,10 +23,10 @@ cd benchmarks/javascript
 | CPU Cores (Physical)       | 12                       |
 | CPU Cores (Logical)        | 12                       |
 | Total RAM (GB)             | 48.0                     |
-| Benchmark Date             | 2026-04-14T09:09:51.959Z |
+| Benchmark Date             | 2026-05-08T03:27:27.670Z |
 | CPU Cores (from benchmark) | 12                       |
-| Node.js                    | v22.20.0                 |
-| V8                         | 12.4.254.21-node.33      |
+| Node.js                    | v25.8.1                  |
+| V8                         | 14.1.146.11-node.21      |
 
 ## Benchmark Plots
 
@@ -48,57 +52,57 @@ All class-level plots below show throughput (ops/sec).
 
 ![SampleList](samplelist.png)
 
-### Struct
+### NumericStruct
 
-![Struct](struct.png)
+![NumericStruct](struct.png)
 
-### StructList
+### NumericStructList
 
-![StructList](structlist.png)
+![NumericStructList](structlist.png)
 
 ## Benchmark Results
 
 ### Timing Results (nanoseconds)
 
-| Datatype         | Operation   | fory (ns) | protobuf (ns) | json (ns) | 
Fastest |
-| ---------------- | ----------- | --------- | ------------- | --------- | 
------- |
-| Struct           | Serialize   | 118.3     | 525.3         | 327.0     | 
fory    |
-| Struct           | Deserialize | 103.0     | 121.5         | 259.0     | 
fory    |
-| Sample           | Serialize   | 667.4     | 2366.2        | 1342.7    | 
fory    |
-| Sample           | Deserialize | 521.3     | 1221.0        | 1312.3    | 
fory    |
-| MediaContent     | Serialize   | 773.3     | 1370.8        | 769.3     | 
json    |
-| MediaContent     | Deserialize | 610.5     | 827.0         | 1085.6    | 
fory    |
-| StructList       | Serialize   | 254.6     | 2017.6        | 1121.3    | 
fory    |
-| StructList       | Deserialize | 306.3     | 653.7         | 1014.1    | 
fory    |
-| SampleList       | Serialize   | 2812.3    | 10782.7       | 6130.4    | 
fory    |
-| SampleList       | Deserialize | 2353.4    | 6125.5        | 6153.1    | 
fory    |
-| MediaContentList | Serialize   | 3495.9    | 6712.4        | 3540.5    | 
fory    |
-| MediaContentList | Deserialize | 2653.7    | 4087.9        | 5258.9    | 
fory    |
+| Datatype          | Operation   | fory (ns) | protobuf (ns) | json (ns) | 
Fastest |
+| ----------------- | ----------- | --------- | ------------- | --------- | 
------- |
+| NumericStruct     | Serialize   | 77.8      | 447.6         | 121.8     | 
fory    |
+| NumericStruct     | Deserialize | 46.4      | 83.2          | 321.6     | 
fory    |
+| Sample            | Serialize   | 270.9     | 1789.4        | 576.2     | 
fory    |
+| Sample            | Deserialize | 528.3     | 824.3         | 1315.1    | 
fory    |
+| MediaContent      | Serialize   | 459.4     | 1324.7        | 566.5     | 
fory    |
+| MediaContent      | Deserialize | 544.6     | 661.9         | 1194.3    | 
fory    |
+| NumericStructList | Serialize   | 199.5     | 2407.5        | 606.6     | 
fory    |
+| NumericStructList | Deserialize | 143.7     | 552.3         | 1481.9    | 
fory    |
+| SampleList        | Serialize   | 1171.2    | 8526.9        | 2959.5    | 
fory    |
+| SampleList        | Deserialize | 2467.5    | 4208.7        | 5973.5    | 
fory    |
+| MediaContentList  | Serialize   | 2164.1    | 6332.4        | 2593.9    | 
fory    |
+| MediaContentList  | Deserialize | 2487.4    | 3462.5        | 5877.0    | 
fory    |
 
 ### Throughput Results (ops/sec)
 
-| Datatype         | Operation   | fory TPS  | protobuf TPS | json TPS  | 
Fastest |
-| ---------------- | ----------- | --------- | ------------ | --------- | 
------- |
-| Struct           | Serialize   | 8,453,950 | 1,903,706    | 3,058,232 | fory 
   |
-| Struct           | Deserialize | 9,705,287 | 8,233,664    | 3,860,538 | fory 
   |
-| Sample           | Serialize   | 1,498,391 | 422,620      | 744,790   | fory 
   |
-| Sample           | Deserialize | 1,918,162 | 819,010      | 762,048   | fory 
   |
-| MediaContent     | Serialize   | 1,293,157 | 729,497      | 1,299,908 | json 
   |
-| MediaContent     | Deserialize | 1,638,086 | 1,209,140    | 921,191   | fory 
   |
-| StructList       | Serialize   | 3,928,325 | 495,648      | 891,810   | fory 
   |
-| StructList       | Deserialize | 3,264,827 | 1,529,744    | 986,144   | fory 
   |
-| SampleList       | Serialize   | 355,581   | 92,741       | 163,120   | fory 
   |
-| SampleList       | Deserialize | 424,916   | 163,253      | 162,520   | fory 
   |
-| MediaContentList | Serialize   | 286,053   | 148,977      | 282,445   | fory 
   |
-| MediaContentList | Deserialize | 376,826   | 244,622      | 190,155   | fory 
   |
+| Datatype          | Operation   | fory TPS   | protobuf TPS | json TPS  | 
Fastest |
+| ----------------- | ----------- | ---------- | ------------ | --------- | 
------- |
+| NumericStruct     | Serialize   | 12,849,851 | 2,234,166    | 8,208,279 | 
fory    |
+| NumericStruct     | Deserialize | 21,547,808 | 12,017,233   | 3,109,551 | 
fory    |
+| Sample            | Serialize   | 3,690,917  | 558,841      | 1,735,442 | 
fory    |
+| Sample            | Deserialize | 1,892,771  | 1,213,083    | 760,401   | 
fory    |
+| MediaContent      | Serialize   | 2,176,977  | 754,884      | 1,765,218 | 
fory    |
+| MediaContent      | Deserialize | 1,836,161  | 1,510,915    | 837,278   | 
fory    |
+| NumericStructList | Serialize   | 5,013,481  | 415,368      | 1,648,437 | 
fory    |
+| NumericStructList | Deserialize | 6,958,482  | 1,810,451    | 674,822   | 
fory    |
+| SampleList        | Serialize   | 853,833    | 117,276      | 337,895   | 
fory    |
+| SampleList        | Deserialize | 405,267    | 237,605      | 167,406   | 
fory    |
+| MediaContentList  | Serialize   | 462,077    | 157,919      | 385,519   | 
fory    |
+| MediaContentList  | Deserialize | 402,028    | 288,809      | 170,156   | 
fory    |
 
 ### Serialized Data Sizes (bytes)
 
-| Datatype         | fory | protobuf | json |
-| ---------------- | ---- | -------- | ---- |
-| Struct           | 58   | 61       | 103  |
-| Sample           | 446  | 377      | 724  |
-| MediaContent     | 391  | 307      | 596  |
-| StructList       | 184  | 315      | 537  |
-| SampleList       | 1980 | 1900     | 3642 |
-| MediaContentList | 1665 | 1550     | 3009 |
+| Datatype          | fory | protobuf | json |
+| ----------------- | ---- | -------- | ---- |
+| NumericStruct     | 78   | 93       | 159  |
+| Sample            | 445  | 377      | 724  |
+| MediaContent      | 388  | 307      | 596  |
+| NumericStructList | 255  | 475      | 817  |
+| SampleList        | 1978 | 1900     | 3642 |
+| MediaContentList  | 1661 | 1550     | 3009 |
diff --git a/docs/benchmarks/javascript/mediacontent.png 
b/docs/benchmarks/javascript/mediacontent.png
index 45d2c34dbd..80cec1bd83 100644
Binary files a/docs/benchmarks/javascript/mediacontent.png and 
b/docs/benchmarks/javascript/mediacontent.png differ
diff --git a/docs/benchmarks/javascript/mediacontentlist.png 
b/docs/benchmarks/javascript/mediacontentlist.png
index a5763d0690..9c106b94fc 100644
Binary files a/docs/benchmarks/javascript/mediacontentlist.png and 
b/docs/benchmarks/javascript/mediacontentlist.png differ
diff --git a/docs/benchmarks/javascript/sample.png 
b/docs/benchmarks/javascript/sample.png
index 57c619b337..b70f5c0019 100644
Binary files a/docs/benchmarks/javascript/sample.png and 
b/docs/benchmarks/javascript/sample.png differ
diff --git a/docs/benchmarks/javascript/samplelist.png 
b/docs/benchmarks/javascript/samplelist.png
index 6e66a0a114..a45c3445d1 100644
Binary files a/docs/benchmarks/javascript/samplelist.png and 
b/docs/benchmarks/javascript/samplelist.png differ
diff --git a/docs/benchmarks/javascript/struct.png 
b/docs/benchmarks/javascript/struct.png
index e78a56967d..69f6db9ba5 100644
Binary files a/docs/benchmarks/javascript/struct.png and 
b/docs/benchmarks/javascript/struct.png differ
diff --git a/docs/benchmarks/javascript/structlist.png 
b/docs/benchmarks/javascript/structlist.png
index cae684ed23..a794c866d9 100644
Binary files a/docs/benchmarks/javascript/structlist.png and 
b/docs/benchmarks/javascript/structlist.png differ
diff --git a/docs/benchmarks/javascript/throughput.png 
b/docs/benchmarks/javascript/throughput.png
index fffd41c477..cdd5ac4928 100644
Binary files a/docs/benchmarks/javascript/throughput.png and 
b/docs/benchmarks/javascript/throughput.png differ
diff --git a/docs/benchmarks/python/README.md b/docs/benchmarks/python/README.md
index 8e5ecd041b..544b417069 100644
--- a/docs/benchmarks/python/README.md
+++ b/docs/benchmarks/python/README.md
@@ -1,6 +1,6 @@
 # Python Benchmark Performance Report
 
-_Generated on 2026-04-14 14:53:18_
+_Generated on 2026-05-08 11:35:12_
 
 ## How to Generate This Report
 
@@ -41,73 +41,73 @@ All plots show throughput (ops/sec); higher is better.
 
 ![Throughput](throughput.png)
 
-### Mediacontent
+### MediaContent
 
-![Mediacontent](mediacontent.png)
+![MediaContent](mediacontent.png)
 
-### Mediacontentlist
+### MediaContentList
 
-![Mediacontentlist](mediacontentlist.png)
+![MediaContentList](mediacontentlist.png)
 
 ### Sample
 
 ![Sample](sample.png)
 
-### Samplelist
+### SampleList
 
-![Samplelist](samplelist.png)
+![SampleList](samplelist.png)
 
-### Struct
+### NumericStruct
 
-![Struct](struct.png)
+![NumericStruct](struct.png)
 
-### Structlist
+### NumericStructList
 
-![Structlist](structlist.png)
+![NumericStructList](structlist.png)
 
 ## Benchmark Results
 
 ### Timing Results (nanoseconds)
 
-| Datatype         | Operation   | fory (ns) | pickle (ns) | protobuf (ns) | 
Fastest  |
-| ---------------- | ----------- | --------- | ----------- | ------------- | 
-------- |
-| Struct           | Serialize   | 431.3     | 963.9       | 604.3         | 
fory     |
-| Struct           | Deserialize | 476.6     | 925.1       | 804.8         | 
fory     |
-| Sample           | Serialize   | 4966.3    | 12725.1     | 4396.0        | 
protobuf |
-| Sample           | Deserialize | 4362.9    | 6409.2      | 6620.1        | 
fory     |
-| MediaContent     | Serialize   | 1213.1    | 4263.1      | 3173.7        | 
fory     |
-| MediaContent     | Deserialize | 1620.7    | 4625.8      | 4306.3        | 
fory     |
-| StructList       | Serialize   | 1072.0    | 2798.6      | 3759.0        | 
fory     |
-| StructList       | Deserialize | 1334.7    | 2756.7      | 3963.5        | 
fory     |
-| SampleList       | Serialize   | 23866.8   | 33484.5     | 18711.7       | 
protobuf |
-| SampleList       | Deserialize | 17347.5   | 22999.0     | 36077.1       | 
fory     |
-| MediaContentList | Serialize   | 3526.9    | 11258.1     | 17670.6       | 
fory     |
-| MediaContentList | Deserialize | 6241.1    | 10209.5     | 21440.7       | 
fory     |
+| Datatype          | Operation   | fory (ns) | protobuf (ns) | pickle (ns) | 
Fastest |
+| ----------------- | ----------- | --------- | ------------- | ----------- | 
------- |
+| NumericStruct     | Serialize   | 517.0     | 873.6         | 1038.7      | 
fory    |
+| NumericStruct     | Deserialize | 504.6     | 1151.9        | 1280.5      | 
fory    |
+| Sample            | Serialize   | 924.4     | 3204.0        | 11322.5     | 
fory    |
+| Sample            | Deserialize | 2891.0    | 11464.7       | 7169.7      | 
fory    |
+| MediaContent      | Serialize   | 1140.5    | 3460.1        | 5074.0      | 
fory    |
+| MediaContent      | Deserialize | 1509.3    | 4476.4        | 4357.6      | 
fory    |
+| NumericStructList | Serialize   | 1052.5    | 4606.0        | 3064.1      | 
fory    |
+| NumericStructList | Deserialize | 1635.3    | 5882.8        | 3945.2      | 
fory    |
+| SampleList        | Serialize   | 3680.0    | 18709.4       | 33800.9     | 
fory    |
+| SampleList        | Deserialize | 13702.0   | 35818.0       | 23745.4     | 
fory    |
+| MediaContentList  | Serialize   | 3262.0    | 18170.7       | 11015.9     | 
fory    |
+| MediaContentList  | Deserialize | 6267.0    | 22423.2       | 13695.5     | 
fory    |
 
 ### Throughput Results (ops/sec)
 
-| Datatype         | Operation   | fory TPS  | pickle TPS | protobuf TPS | 
Fastest  |
-| ---------------- | ----------- | --------- | ---------- | ------------ | 
-------- |
-| Struct           | Serialize   | 2,318,598 | 1,037,429  | 1,654,700    | 
fory     |
-| Struct           | Deserialize | 2,098,391 | 1,081,003  | 1,242,545    | 
fory     |
-| Sample           | Serialize   | 201,358   | 78,585     | 227,479      | 
protobuf |
-| Sample           | Deserialize | 229,204   | 156,026    | 151,056      | 
fory     |
-| MediaContent     | Serialize   | 824,338   | 234,569    | 315,087      | 
fory     |
-| MediaContent     | Deserialize | 616,999   | 216,177    | 232,216      | 
fory     |
-| StructList       | Serialize   | 932,803   | 357,322    | 266,029      | 
fory     |
-| StructList       | Deserialize | 749,212   | 362,753    | 252,301      | 
fory     |
-| SampleList       | Serialize   | 41,899    | 29,865     | 53,442       | 
protobuf |
-| SampleList       | Deserialize | 57,645    | 43,480     | 27,718       | 
fory     |
-| MediaContentList | Serialize   | 283,535   | 88,825     | 56,591       | 
fory     |
-| MediaContentList | Deserialize | 160,227   | 97,948     | 46,640       | 
fory     |
+| Datatype          | Operation   | fory TPS  | protobuf TPS | pickle TPS | 
Fastest |
+| ----------------- | ----------- | --------- | ------------ | ---------- | 
------- |
+| NumericStruct     | Serialize   | 1,934,203 | 1,144,735    | 962,697    | 
fory    |
+| NumericStruct     | Deserialize | 1,981,615 | 868,166      | 780,935    | 
fory    |
+| Sample            | Serialize   | 1,081,792 | 312,107      | 88,320     | 
fory    |
+| Sample            | Deserialize | 345,897   | 87,224       | 139,476    | 
fory    |
+| MediaContent      | Serialize   | 876,796   | 289,005      | 197,082    | 
fory    |
+| MediaContent      | Deserialize | 662,558   | 223,395      | 229,483    | 
fory    |
+| NumericStructList | Serialize   | 950,145   | 217,108      | 326,363    | 
fory    |
+| NumericStructList | Deserialize | 611,499   | 169,986      | 253,472    | 
fory    |
+| SampleList        | Serialize   | 271,739   | 53,449       | 29,585     | 
fory    |
+| SampleList        | Deserialize | 72,982    | 27,919       | 42,114     | 
fory    |
+| MediaContentList  | Serialize   | 306,557   | 55,034       | 90,778     | 
fory    |
+| MediaContentList  | Deserialize | 159,565   | 44,597       | 73,017     | 
fory    |
 
 ### Serialized Data Sizes (bytes)
 
-| Datatype         | fory | pickle | protobuf |
-| ---------------- | ---- | ------ | -------- |
-| Struct           | 58   | 126    | 61       |
-| Sample           | 446  | 1176   | 375      |
-| MediaContent     | 391  | 624    | 301      |
-| StructList       | 184  | 420    | 315      |
-| SampleList       | 1980 | 3546   | 1890     |
-| MediaContentList | 1665 | 1415   | 1520     |
+| Datatype          | fory | protobuf | pickle |
+| ----------------- | ---- | -------- | ------ |
+| NumericStruct     | 78   | 93       | 169    |
+| Sample            | 445  | 375      | 1176   |
+| MediaContent      | 366  | 301      | 624    |
+| NumericStructList | 219  | 475      | 582    |
+| SampleList        | 1914 | 1890     | 3546   |
+| MediaContentList  | 1614 | 1520     | 1415   |
diff --git a/docs/benchmarks/python/mediacontent.png 
b/docs/benchmarks/python/mediacontent.png
index 7f17e52679..ef9eca86c3 100644
Binary files a/docs/benchmarks/python/mediacontent.png and 
b/docs/benchmarks/python/mediacontent.png differ
diff --git a/docs/benchmarks/python/mediacontentlist.png 
b/docs/benchmarks/python/mediacontentlist.png
index c81ff2ea63..82ca2d9b98 100644
Binary files a/docs/benchmarks/python/mediacontentlist.png and 
b/docs/benchmarks/python/mediacontentlist.png differ
diff --git a/docs/benchmarks/python/sample.png 
b/docs/benchmarks/python/sample.png
index d6aaf4bbe8..1324ca10c7 100644
Binary files a/docs/benchmarks/python/sample.png and 
b/docs/benchmarks/python/sample.png differ
diff --git a/docs/benchmarks/python/samplelist.png 
b/docs/benchmarks/python/samplelist.png
index ead979d480..f1fa8b0290 100644
Binary files a/docs/benchmarks/python/samplelist.png and 
b/docs/benchmarks/python/samplelist.png differ
diff --git a/docs/benchmarks/python/struct.png 
b/docs/benchmarks/python/struct.png
index 3fb6c6ab82..01d1f3f6d2 100644
Binary files a/docs/benchmarks/python/struct.png and 
b/docs/benchmarks/python/struct.png differ
diff --git a/docs/benchmarks/python/structlist.png 
b/docs/benchmarks/python/structlist.png
index 23107a9aed..1c8509a8ce 100644
Binary files a/docs/benchmarks/python/structlist.png and 
b/docs/benchmarks/python/structlist.png differ
diff --git a/docs/benchmarks/python/throughput.png 
b/docs/benchmarks/python/throughput.png
index a1954fb6d8..d0b551b556 100644
Binary files a/docs/benchmarks/python/throughput.png and 
b/docs/benchmarks/python/throughput.png differ
diff --git a/docs/benchmarks/rust/README.md b/docs/benchmarks/rust/README.md
index 56cfc3bd1c..e7ab4d5ec5 100644
--- a/docs/benchmarks/rust/README.md
+++ b/docs/benchmarks/rust/README.md
@@ -1,6 +1,6 @@
 # Rust Benchmark Performance Report
 
-_Generated on 2026-03-20 18:40:46_
+_Generated on 2026-05-08 03:28:21_
 
 ## How to Generate This Report
 
@@ -21,7 +21,7 @@ python benchmark_report.py --log-file results/cargo_bench.log 
--size-file result
 | CPU Cores (Physical) | 12                  |
 | CPU Cores (Logical)  | 12                  |
 | Total RAM (GB)       | 48.0                |
-| Benchmark Date       | 2026-03-20T18:40:44 |
+| Benchmark Date       | 2026-05-08T03:28:19 |
 
 ## Benchmark Plots
 
@@ -47,57 +47,57 @@ All class-level plots below show throughput (ops/sec).
 
 ![SampleList](samplelist.png)
 
-### Struct
+### NumericStruct
 
-![Struct](struct.png)
+![NumericStruct](struct.png)
 
-### StructList
+### NumericStructList
 
-![StructList](structlist.png)
+![NumericStructList](structlist.png)
 
 ## 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    |
+| Datatype          | Operation   | fory (ns) | protobuf (ns) | msgpack (ns) | 
Fastest |
+| ----------------- | ----------- | --------- | ------------- | ------------ | 
------- |
+| NumericStruct     | Serialize   | 37.4      | 94.5          | 230.1        | 
fory    |
+| NumericStruct     | Deserialize | 32.2      | 66.1          | 106.3        | 
fory    |
+| Sample            | Serialize   | 97.3      | 545.7         | 629.1        | 
fory    |
+| Sample            | Deserialize | 349.1     | 894.3         | 789.1        | 
fory    |
+| MediaContent      | Serialize   | 121.2     | 548.3         | 447.5        | 
fory    |
+| MediaContent      | Deserialize | 548.6     | 692.2         | 899.3        | 
fory    |
+| NumericStructList | Serialize   | 120.6     | 499.9         | 631.8        | 
fory    |
+| NumericStructList | Deserialize | 124.4     | 419.7         | 598.6        | 
fory    |
+| SampleList        | Serialize   | 270.3     | 2895.9        | 1940.5       | 
fory    |
+| SampleList        | Deserialize | 1650.2    | 4422.7        | 4102.0       | 
fory    |
+| MediaContentList  | Serialize   | 371.5     | 2788.5        | 1407.5       | 
fory    |
+| MediaContentList  | Deserialize | 2679.7    | 3609.2        | 4762.7       | 
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    |
+| Datatype          | Operation   | fory TPS   | protobuf TPS | msgpack TPS | 
Fastest |
+| ----------------- | ----------- | ---------- | ------------ | ----------- | 
------- |
+| NumericStruct     | Serialize   | 26,727,248 | 10,577,086   | 4,346,503   | 
fory    |
+| NumericStruct     | Deserialize | 31,097,428 | 15,129,280   | 9,410,879   | 
fory    |
+| Sample            | Serialize   | 10,275,803 | 1,832,475    | 1,589,648   | 
fory    |
+| Sample            | Deserialize | 2,864,919  | 1,118,243    | 1,267,315   | 
fory    |
+| MediaContent      | Serialize   | 8,249,464  | 1,823,753    | 2,234,637   | 
fory    |
+| MediaContent      | Deserialize | 1,822,722  | 1,444,627    | 1,112,013   | 
fory    |
+| NumericStructList | Serialize   | 8,293,937  | 2,000,400    | 1,582,779   | 
fory    |
+| NumericStructList | Deserialize | 8,038,585  | 2,382,768    | 1,670,425   | 
fory    |
+| SampleList        | Serialize   | 3,700,004  | 345,316      | 515,331     | 
fory    |
+| SampleList        | Deserialize | 605,987    | 226,106      | 243,784     | 
fory    |
+| MediaContentList  | Serialize   | 2,691,573  | 358,616      | 710,480     | 
fory    |
+| MediaContentList  | Deserialize | 373,176    | 277,070      | 209,965     | 
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     |
+| Datatype          | fory | protobuf | msgpack |
+| ----------------- | ---- | -------- | ------- |
+| NumericStruct     | 78   | 93       | 87      |
+| Sample            | 445  | 375      | 590     |
+| MediaContent      | 362  | 301      | 500     |
+| NumericStructList | 255  | 475      | 449     |
+| SampleList        | 1978 | 1890     | 2964    |
+| MediaContentList  | 1531 | 1520     | 2521    |
diff --git a/docs/benchmarks/rust/mediacontent.png 
b/docs/benchmarks/rust/mediacontent.png
index 8d026ef4b0..a6d1848a4b 100644
Binary files a/docs/benchmarks/rust/mediacontent.png and 
b/docs/benchmarks/rust/mediacontent.png differ
diff --git a/docs/benchmarks/rust/mediacontentlist.png 
b/docs/benchmarks/rust/mediacontentlist.png
index f2bf6b7214..2bf6131504 100644
Binary files a/docs/benchmarks/rust/mediacontentlist.png and 
b/docs/benchmarks/rust/mediacontentlist.png differ
diff --git a/docs/benchmarks/rust/sample.png b/docs/benchmarks/rust/sample.png
index e63ebcbad8..c6794ef7e3 100644
Binary files a/docs/benchmarks/rust/sample.png and 
b/docs/benchmarks/rust/sample.png differ
diff --git a/docs/benchmarks/rust/samplelist.png 
b/docs/benchmarks/rust/samplelist.png
index b7ba75b72f..3d5368a548 100644
Binary files a/docs/benchmarks/rust/samplelist.png and 
b/docs/benchmarks/rust/samplelist.png differ
diff --git a/docs/benchmarks/rust/struct.png b/docs/benchmarks/rust/struct.png
index e12c6a3327..c868cc0cf8 100644
Binary files a/docs/benchmarks/rust/struct.png and 
b/docs/benchmarks/rust/struct.png differ
diff --git a/docs/benchmarks/rust/structlist.png 
b/docs/benchmarks/rust/structlist.png
index e030cf45fd..725ea4f7da 100644
Binary files a/docs/benchmarks/rust/structlist.png and 
b/docs/benchmarks/rust/structlist.png differ
diff --git a/docs/benchmarks/rust/throughput.png 
b/docs/benchmarks/rust/throughput.png
index be89782fbb..659b2753a6 100644
Binary files a/docs/benchmarks/rust/throughput.png and 
b/docs/benchmarks/rust/throughput.png differ
diff --git a/docs/benchmarks/swift/README.md b/docs/benchmarks/swift/README.md
index c2376a5dab..5c70c5ab19 100644
--- a/docs/benchmarks/swift/README.md
+++ b/docs/benchmarks/swift/README.md
@@ -6,7 +6,7 @@ This benchmark compares serialization and deserialization 
throughput for Apache
 
 | Key                   | Value                         |
 | --------------------- | ----------------------------- |
-| Timestamp             | 2026-03-10T06:25:16Z          |
+| Timestamp             | 2026-05-07T19:46:19Z          |
 | OS                    | Version 15.7.2 (Build 24G325) |
 | Host                  | macbook-pro.local             |
 | CPU Cores (Logical)   | 12                            |
@@ -17,28 +17,28 @@ This benchmark compares serialization and deserialization 
throughput for Apache
 
 ![Throughput](throughput.png)
 
-| Datatype         | Operation   |   Fory TPS | Protobuf TPS | Msgpack TPS | 
Fastest      |
-| ---------------- | ----------- | ---------: | -----------: | ----------: | 
------------ |
-| Struct           | Serialize   |  9,727,950 |    6,572,406 |     141,248 | 
fory (1.48x) |
-| Struct           | Deserialize | 11,889,570 |    8,584,510 |      99,792 | 
fory (1.39x) |
-| Sample           | Serialize   |  3,496,305 |    1,281,983 |      17,188 | 
fory (2.73x) |
-| Sample           | Deserialize |  1,045,018 |      765,706 |      12,767 | 
fory (1.36x) |
-| MediaContent     | Serialize   |  1,425,354 |      678,542 |      29,048 | 
fory (2.10x) |
-| MediaContent     | Deserialize |    614,447 |      478,298 |      12,711 | 
fory (1.28x) |
-| StructList       | Serialize   |  3,307,962 |    1,028,210 |      24,781 | 
fory (3.22x) |
-| StructList       | Deserialize |  2,788,200 |      708,596 |       8,160 | 
fory (3.93x) |
-| SampleList       | Serialize   |    715,734 |      205,380 |       3,361 | 
fory (3.48x) |
-| SampleList       | Deserialize |    199,317 |      133,425 |       1,498 | 
fory (1.49x) |
-| MediaContentList | Serialize   |    364,097 |      103,721 |       5,538 | 
fory (3.51x) |
-| MediaContentList | Deserialize |    103,421 |       86,331 |       1,529 | 
fory (1.20x) |
+| Datatype          | Operation   |   Fory TPS | Protobuf TPS | Msgpack TPS | 
Fastest      |
+| ----------------- | ----------- | ---------: | -----------: | ----------: | 
------------ |
+| NumericStruct     | Serialize   |  9,456,190 |    6,237,003 |      99,134 | 
fory (1.52x) |
+| NumericStruct     | Deserialize | 11,244,151 |    6,898,201 |      68,135 | 
fory (1.63x) |
+| Sample            | Serialize   |  3,653,537 |    1,269,790 |      17,033 | 
fory (2.88x) |
+| Sample            | Deserialize |    992,566 |      751,855 |      12,379 | 
fory (1.32x) |
+| MediaContent      | Serialize   |  1,586,123 |      673,382 |      28,762 | 
fory (2.36x) |
+| MediaContent      | Deserialize |    606,656 |      471,433 |      12,321 | 
fory (1.29x) |
+| NumericStructList | Serialize   |  2,981,475 |      930,517 |      18,067 | 
fory (3.20x) |
+| NumericStructList | Deserialize |  2,466,526 |      720,704 |       6,191 | 
fory (3.42x) |
+| SampleList        | Serialize   |    784,804 |      205,426 |       3,356 | 
fory (3.82x) |
+| SampleList        | Deserialize |    191,930 |      132,154 |       1,452 | 
fory (1.45x) |
+| MediaContentList  | Serialize   |    347,354 |      100,939 |       5,460 | 
fory (3.44x) |
+| MediaContentList  | Deserialize |    114,145 |       84,897 |       1,446 | 
fory (1.34x) |
 
 ## Serialized Size (bytes)
 
-| Datatype         | Fory | Protobuf | Msgpack |
-| ---------------- | ---: | -------: | ------: |
-| MediaContent     |  365 |      301 |     524 |
-| MediaContentList | 1535 |     1520 |    2639 |
-| Sample           |  446 |      375 |     737 |
-| SampleList       | 1980 |     1890 |    3698 |
-| Struct           |   58 |       61 |      65 |
-| StructList       |  184 |      315 |     338 |
+| Datatype          | Fory | Protobuf | Msgpack |
+| ----------------- | ---: | -------: | ------: |
+| NumericStruct     |   78 |       93 |     100 |
+| Sample            |  445 |      375 |     737 |
+| MediaContent      |  362 |      301 |     524 |
+| NumericStructList |  255 |      475 |     513 |
+| SampleList        | 1978 |     1890 |    3698 |
+| MediaContentList  | 1531 |     1520 |    2639 |
diff --git a/docs/benchmarks/swift/throughput.png 
b/docs/benchmarks/swift/throughput.png
index 291dc81451..f4a140ebfb 100644
Binary files a/docs/benchmarks/swift/throughput.png and 
b/docs/benchmarks/swift/throughput.png differ


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

Reply via email to