tree: 16cb3ee71b54dc02a3f7412a0fd598619408e5ee
  1. mediacontent.png
  2. mediacontentlist.png
  3. README.md
  4. sample.png
  5. samplelist.png
  6. struct.png
  7. structlist.png
  8. throughput.png
docs/benchmarks/python/README.md

Python Benchmark Performance Report

Generated on 2026-04-14 14:53:18

How to Generate This Report

cd benchmarks/python
./run.sh

Hardware & OS Info

KeyValue
OSDarwin 24.6.0
Machinearm64
Processorarm
Python3.10.8
CPU Cores (Physical)12
CPU Cores (Logical)12
Total RAM (GB)48.0
Python ImplementationCPython
Benchmark PlatformmacOS-15.7.2-arm64-arm-64bit

Benchmark Configuration

KeyValue
warmup3
iterations15
repeat5
number1000
list_size5

Benchmark Plots

All plots show throughput (ops/sec); higher is better.

Throughput

Throughput

Mediacontent

Mediacontent

Mediacontentlist

Mediacontentlist

Sample

Sample

Samplelist

Samplelist

Struct

Struct

Structlist

Structlist

Benchmark Results

Timing Results (nanoseconds)

DatatypeOperationfory (ns)pickle (ns)protobuf (ns)Fastest
StructSerialize431.3963.9604.3fory
StructDeserialize476.6925.1804.8fory
SampleSerialize4966.312725.14396.0protobuf
SampleDeserialize4362.96409.26620.1fory
MediaContentSerialize1213.14263.13173.7fory
MediaContentDeserialize1620.74625.84306.3fory
StructListSerialize1072.02798.63759.0fory
StructListDeserialize1334.72756.73963.5fory
SampleListSerialize23866.833484.518711.7protobuf
SampleListDeserialize17347.522999.036077.1fory
MediaContentListSerialize3526.911258.117670.6fory
MediaContentListDeserialize6241.110209.521440.7fory

Throughput Results (ops/sec)

DatatypeOperationfory TPSpickle TPSprotobuf TPSFastest
StructSerialize2,318,5981,037,4291,654,700fory
StructDeserialize2,098,3911,081,0031,242,545fory
SampleSerialize201,35878,585227,479protobuf
SampleDeserialize229,204156,026151,056fory
MediaContentSerialize824,338234,569315,087fory
MediaContentDeserialize616,999216,177232,216fory
StructListSerialize932,803357,322266,029fory
StructListDeserialize749,212362,753252,301fory
SampleListSerialize41,89929,86553,442protobuf
SampleListDeserialize57,64543,48027,718fory
MediaContentListSerialize283,53588,82556,591fory
MediaContentListDeserialize160,22797,94846,640fory

Serialized Data Sizes (bytes)

Datatypeforypickleprotobuf
Struct5812661
Sample4461176375
MediaContent391624301
StructList184420315
SampleList198035461890
MediaContentList166514151520