Выбрал функции сериализации для бд — bson. Быстрее serialize в >1.5 раза, json — в 3. Да и результат меньше всех остальных.
Найти его можно в расширении для MongoDB.
Результаты далее.
За каждую итерацию обрабатывались массив и объект, созданный из массива. strlen1 и strlen2 длины получившихся строк соответственно.
UPD: Тестировалась последовательная сериализация и десериализация.
igbinary тут уже:
UPD: msgpack уже без цифр, но он поинтереснее. Немного. На 15% быстрее bson в сериализации, и по размеру между bson и igbinary. Но анпак медленее в 2 раза, итого на 2х почти в 1.5 раза медленнее. Плюсы — реализации для многих языков.
Найти его можно в расширении для MongoDB.
Результаты далее.
За каждую итерацию обрабатывались массив и объект, созданный из массива. strlen1 и strlen2 длины получившихся строк соответственно.
array ( '_all' => array ( 'time' => 17.71448302269, 'N' => 40000, ), 'serialize' => array ( 'time' => 3.4848301410675, 'strlen1' => 1087, 'strlen2' => 1168, ), 'json' => array ( 'time' => 6.2529139518738, 'strlen1' => 950, 'strlen2' => 966, ), 'json_unesc' => array ( 'time' => 6.0889739990234, 'strlen1' => 950, 'strlen2' => 966, ), 'bson' => array ( 'time' => 1.8876740932465, 'strlen1' => 884, 'strlen2' => 884, ), )
UPD: Тестировалась последовательная сериализация и десериализация.
igbinary тут уже:
'igbinary' => array ( 'time' => 4.2307059764862, 'strlen1' => 702, 'strlen2' => 724, ),
UPD: msgpack уже без цифр, но он поинтереснее. Немного. На 15% быстрее bson в сериализации, и по размеру между bson и igbinary. Но анпак медленее в 2 раза, итого на 2х почти в 1.5 раза медленнее. Плюсы — реализации для многих языков.
