| # Fory Swift Benchmark |
| |
| This benchmark compares serialization and deserialization throughput for Apache Fory, Protocol Buffers, and MessagePack in Swift. |
| |
| ## Hardware and Runtime Info |
| |
| | Key | Value | |
| | --------------------- | ----------------------------- | |
| | Timestamp | 2026-03-10T06:25:16Z | |
| | OS | Version 15.7.2 (Build 24G325) | |
| | Host | macbook-pro.local | |
| | CPU Cores (Logical) | 12 | |
| | Memory (GB) | 48.00 | |
| | Duration per case (s) | 3 | |
| |
| ## Throughput Results |
| |
|  |
| |
| | 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) | |
| |
| ## 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 | |