A decoder-optimized binary serializer for read-heavy PHP cache workloads, measured against igbinary (the reference), PHP's native serialize(), and msgpack across cache-shaped payloads. Lower is better on every metric. igbinary is the baseline; each percentage is that column's delta vs. igbinary — green beats igbinary, red loses to it.
Bars are normalized per row to the largest value (longer = slower / bigger).best in rowphpser column
| shape | phpser | igbinary * | serialize | msgpack |
|---|---|---|---|---|
| rowset_100 |
4,771
+4%
|
4,570
|
21,046
+361%
|
9,593
+110%
|
| rowset_1000 |
47,972
+1%
|
47,459
|
214,949
+353%
|
98,509
+108%
|
| packed_1k |
1,941
-65%
|
5,495
|
11,789
+115%
|
2,619
-52%
|
| packed_10k |
21,749
-63%
|
59,495
|
137,790
+132%
|
29,619
-50%
|
| deep_50 |
424
+1%
|
419
|
1,512
+261%
|
457
+9%
|
| dto_100 |
6,362
-10%
|
7,083
|
28,190
+298%
|
14,909
+110%
|
| dto_1000 |
64,863
-12%
|
73,372
|
285,891
+290%
|
152,725
+108%
|
| dto_mixed |
17,927
-17%
|
21,644
|
85,395
+295%
|
46,433
+115%
|
| shape | phpser | igbinary * | serialize | msgpack |
|---|---|---|---|---|
| rowset_100 |
14.4k
-19%
|
17.8k
|
65.2k
+267%
|
39.2k
+120%
|
| rowset_1000 |
133.9k
-48%
|
258.4k
|
712.4k
+176%
|
405.1k
+57%
|
| packed_1k |
2.5k
-75%
|
9.7k
|
23.5k
+141%
|
12.7k
+31%
|
| packed_10k |
26.3k
-72%
|
94.5k
|
247.6k
+162%
|
128.9k
+36%
|
| deep_50 |
1.4k
-51%
|
2.8k
|
3.2k
+15%
|
6.8k
+145%
|
| dto_100 |
27.2k
-3%
|
28.0k
|
37.6k
+34%
|
47.2k
+68%
|
| dto_1000 |
279.3k
-10%
|
309.2k
|
375.8k
+22%
|
511.8k
+66%
|
| dto_mixed |
85.6k
-20%
|
107.4k
|
211.9k
+97%
|
164.2k
+53%
|
| shape | phpser | igbinary * | serialize | msgpack |
|---|---|---|---|---|
| rowset_100 |
21.2k
-3%
|
21.9k
|
68.4k
+213%
|
67.2k
+207%
|
| rowset_1000 |
218.1k
-0%
|
218.8k
|
730.1k
+234%
|
701.7k
+221%
|
| packed_1k |
3.4k
-79%
|
16.3k
|
37.3k
+129%
|
17.8k
+9%
|
| packed_10k |
36.7k
-77%
|
161.6k
|
401.4k
+148%
|
178.0k
+10%
|
| deep_50 |
3.1k
-12%
|
3.6k
|
6.0k
+69%
|
7.3k
+105%
|
| dto_100 |
48.6k
-13%
|
55.8k
|
126.1k
+126%
|
156.9k
+181%
|
| dto_1000 |
512.9k
-15%
|
603.7k
|
1602.3k
+165%
|
1627.8k
+170%
|
| dto_mixed |
179.4k
-22%
|
231.3k
|
516.4k
+123%
|
569.4k
+146%
|