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 fa5c6da8a6 🔄 synced local 'docs/benchmarks/' with remote
'docs/benchmarks/'
fa5c6da8a6 is described below
commit fa5c6da8a6b41e94c2908b22a40766b6afd53289
Author: chaokunyang <[email protected]>
AuthorDate: Tue Apr 14 11:16:16 2026 +0000
🔄 synced local 'docs/benchmarks/' with remote 'docs/benchmarks/'
---
docs/benchmarks/javascript/README.md | 104 ++++++++++++++++++++++++
docs/benchmarks/javascript/mediacontent.png | Bin 0 -> 55168 bytes
docs/benchmarks/javascript/mediacontentlist.png | Bin 0 -> 56815 bytes
docs/benchmarks/javascript/sample.png | Bin 0 -> 57185 bytes
docs/benchmarks/javascript/samplelist.png | Bin 0 -> 57215 bytes
docs/benchmarks/javascript/struct.png | Bin 0 -> 50777 bytes
docs/benchmarks/javascript/structlist.png | Bin 0 -> 54735 bytes
docs/benchmarks/javascript/throughput.png | Bin 0 -> 81947 bytes
docs/benchmarks/python/README.md | 70 ++++++++--------
docs/benchmarks/python/mediacontent.png | Bin 49948 -> 51723 bytes
docs/benchmarks/python/mediacontentlist.png | Bin 57263 -> 56440 bytes
docs/benchmarks/python/sample.png | Bin 53682 -> 47563 bytes
docs/benchmarks/python/samplelist.png | Bin 60171 -> 48300 bytes
docs/benchmarks/python/struct.png | Bin 54218 -> 53286 bytes
docs/benchmarks/python/structlist.png | Bin 52290 -> 50022 bytes
docs/benchmarks/python/throughput.png | Bin 79016 -> 74287 bytes
16 files changed, 139 insertions(+), 35 deletions(-)
diff --git a/docs/benchmarks/javascript/README.md
b/docs/benchmarks/javascript/README.md
new file mode 100644
index 0000000000..f51899233f
--- /dev/null
+++ b/docs/benchmarks/javascript/README.md
@@ -0,0 +1,104 @@
+# JavaScript Benchmark Performance Report
+
+_Generated on 2026-04-14 17:11:43_
+
+## How to Generate This Report
+
+```bash
+cd benchmarks/javascript
+./run.sh
+```
+
+## 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-04-14T09:09:51.959Z |
+| CPU Cores (from benchmark) | 12 |
+| Node.js | v22.20.0 |
+| V8 | 12.4.254.21-node.33 |
+
+## Benchmark Plots
+
+All class-level plots below show throughput (ops/sec).
+
+### Throughput
+
+
+
+### MediaContent
+
+
+
+### MediaContentList
+
+
+
+### Sample
+
+
+
+### SampleList
+
+
+
+### Struct
+
+
+
+### StructList
+
+
+
+## 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 |
+
+### 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
|
+
+### 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 |
diff --git a/docs/benchmarks/javascript/mediacontent.png
b/docs/benchmarks/javascript/mediacontent.png
new file mode 100644
index 0000000000..45d2c34dbd
Binary files /dev/null and b/docs/benchmarks/javascript/mediacontent.png differ
diff --git a/docs/benchmarks/javascript/mediacontentlist.png
b/docs/benchmarks/javascript/mediacontentlist.png
new file mode 100644
index 0000000000..a5763d0690
Binary files /dev/null and b/docs/benchmarks/javascript/mediacontentlist.png
differ
diff --git a/docs/benchmarks/javascript/sample.png
b/docs/benchmarks/javascript/sample.png
new file mode 100644
index 0000000000..57c619b337
Binary files /dev/null and b/docs/benchmarks/javascript/sample.png differ
diff --git a/docs/benchmarks/javascript/samplelist.png
b/docs/benchmarks/javascript/samplelist.png
new file mode 100644
index 0000000000..6e66a0a114
Binary files /dev/null and b/docs/benchmarks/javascript/samplelist.png differ
diff --git a/docs/benchmarks/javascript/struct.png
b/docs/benchmarks/javascript/struct.png
new file mode 100644
index 0000000000..e78a56967d
Binary files /dev/null and b/docs/benchmarks/javascript/struct.png differ
diff --git a/docs/benchmarks/javascript/structlist.png
b/docs/benchmarks/javascript/structlist.png
new file mode 100644
index 0000000000..cae684ed23
Binary files /dev/null and b/docs/benchmarks/javascript/structlist.png differ
diff --git a/docs/benchmarks/javascript/throughput.png
b/docs/benchmarks/javascript/throughput.png
new file mode 100644
index 0000000000..fffd41c477
Binary files /dev/null and b/docs/benchmarks/javascript/throughput.png differ
diff --git a/docs/benchmarks/python/README.md b/docs/benchmarks/python/README.md
index 85924a7996..8e5ecd041b 100644
--- a/docs/benchmarks/python/README.md
+++ b/docs/benchmarks/python/README.md
@@ -1,6 +1,6 @@
# Python Benchmark Performance Report
-_Generated on 2026-03-03 13:42:38_
+_Generated on 2026-04-14 14:53:18_
## How to Generate This Report
@@ -69,45 +69,45 @@ All plots show throughput (ops/sec); higher is better.
### Timing Results (nanoseconds)
-| Datatype | Operation | fory (ns) | pickle (ns) | protobuf (ns) |
Fastest |
-| ---------------- | ----------- | --------- | ----------- | ------------- |
------- |
-| Struct | Serialize | 417.9 | 868.9 | 548.9 |
fory |
-| Struct | Deserialize | 516.1 | 910.6 | 742.4 |
fory |
-| Sample | Serialize | 828.1 | 1663.5 | 2383.7 |
fory |
-| Sample | Deserialize | 1282.4 | 2296.3 | 3992.7 |
fory |
-| MediaContent | Serialize | 1139.9 | 2859.7 | 2867.1 |
fory |
-| MediaContent | Deserialize | 1719.5 | 2854.3 | 3236.1 |
fory |
-| StructList | Serialize | 1009.1 | 2630.6 | 3281.6 |
fory |
-| StructList | Deserialize | 1387.2 | 2651.9 | 3547.9 |
fory |
-| SampleList | Serialize | 2828.3 | 5541.0 | 15256.6 |
fory |
-| SampleList | Deserialize | 5043.4 | 8144.7 | 18912.5 |
fory |
-| MediaContentList | Serialize | 3417.9 | 9341.9 | 15853.2 |
fory |
-| MediaContentList | Deserialize | 6138.7 | 8435.3 | 16442.6 |
fory |
+| 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 |
### Throughput Results (ops/sec)
-| Datatype | Operation | fory TPS | pickle TPS | protobuf TPS |
Fastest |
-| ---------------- | ----------- | --------- | ---------- | ------------ |
------- |
-| Struct | Serialize | 2,393,086 | 1,150,946 | 1,821,982 |
fory |
-| Struct | Deserialize | 1,937,707 | 1,098,170 | 1,346,915 |
fory |
-| Sample | Serialize | 1,207,542 | 601,144 | 419,511 |
fory |
-| Sample | Deserialize | 779,789 | 435,489 | 250,460 |
fory |
-| MediaContent | Serialize | 877,300 | 349,688 | 348,780 |
fory |
-| MediaContent | Deserialize | 581,563 | 350,354 | 309,018 |
fory |
-| StructList | Serialize | 991,017 | 380,145 | 304,732 |
fory |
-| StructList | Deserialize | 720,901 | 377,081 | 281,855 |
fory |
-| SampleList | Serialize | 353,574 | 180,473 | 65,545 |
fory |
-| SampleList | Deserialize | 198,280 | 122,780 | 52,875 |
fory |
-| MediaContentList | Serialize | 292,578 | 107,045 | 63,079 |
fory |
-| MediaContentList | Deserialize | 162,902 | 118,550 | 60,818 |
fory |
+| 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 |
### Serialized Data Sizes (bytes)
| Datatype | fory | pickle | protobuf |
| ---------------- | ---- | ------ | -------- |
-| Struct | 72 | 126 | 61 |
-| Sample | 517 | 793 | 375 |
-| MediaContent | 470 | 586 | 301 |
-| StructList | 205 | 420 | 315 |
-| SampleList | 1810 | 2539 | 1890 |
-| MediaContentList | 1756 | 1377 | 1520 |
+| Struct | 58 | 126 | 61 |
+| Sample | 446 | 1176 | 375 |
+| MediaContent | 391 | 624 | 301 |
+| StructList | 184 | 420 | 315 |
+| SampleList | 1980 | 3546 | 1890 |
+| MediaContentList | 1665 | 1415 | 1520 |
diff --git a/docs/benchmarks/python/mediacontent.png
b/docs/benchmarks/python/mediacontent.png
index 05b28cd20f..7f17e52679 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 6ca7b1814d..c81ff2ea63 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 eb318e1ab2..d6aaf4bbe8 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 94896bcab0..ead979d480 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 c8fe09cfe1..3fb6c6ab82 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 e421b1738d..23107a9aed 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 c750a9ffb5..a1954fb6d8 100644
Binary files a/docs/benchmarks/python/throughput.png and
b/docs/benchmarks/python/throughput.png differ
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]