Существует ли более быстрый аналог serialize/unserialize?

DiMA

php.spb.ru
Команда форума
Существует ли более быстрый аналог serialize/unserialize?

собственно сабж.. можно упростить сложность упаковываемых массивов
 

Gorynych

Посетитель PHP-Клуба
зависит от характера данных (если вы готовы хранить извлекать не целые объекты, а только скаляры или массивы - то почему бы не использовать какой-либо акселератор / кешатор?)
 

fixxxer

К.О.
Партнер клуба
json_encode/json_decide подозреваю что немного быстрее
 

Gorynych

Посетитель PHP-Клуба
Автор оригинала: DiMA

естественно никакие объекты паковать не нужно, исключительно - выборку sql или чего-нибудь такое, простое
повторюсь: почему бы не использовать тот же акселератор (если нужно отдавать на один хост. Под FreeBSD у нас адекватно работал xcache, под CentOS - eAccelerator) или memcache (если на несколько)?
 

DiMA

php.spb.ru
Команда форума
можно, но сомневаюсь, что это будет быстрее на мелких массивах, с большими - возможно будет быстрее (тестов таких не видел)
 

john.brown

просто кулибин
DiMA
Хм, странно, как ты из приведенных тобой ссылок сделал вывод, что json тормознее? Там все же получпется, что цикл упаковка/распаковка или примерно одинаковая, или json быстрее - в зависимости от пакуемого материала :)
 

Макс

Старожил PHPClub
На простых массивах можно pack/unpack использовать.
Недостатки:
- под каждый массив нужно писать отдельные функции кодирования/декодирования
- нужно помнить что строка получается бинарная (например нельзя ее в обычный mysql varchar сохранять)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а что будет, если бинарную строку сохранить в обычном mysql varchar ?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
делай выборку из SQL сразу сериализованной (CSV?)
 

Wicked

Новичок
По-моему, скорость сериализации не так важна, как скорость десериализации. Из-за преследуемых целей и соответствующей этим целям статистики.
 

DiMA

php.spb.ru
Команда форума
> скорость сериализации не так важна

да ваще не важна, все летает

У меня на домашней тачке 20 мб файл от нейросети пишется 5-10 секунд на диск (2ГГц)

И кстати в подобных задачах (запись на диск или длительное хранение) никакие акселераторы и кеши не применимы... Разве что memcacheDB.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
с var_export надо внимательно - очищать от кучи пробелов и лишнего кода, хранить только в надежных местах, по сети уже не передать

var_export(array("\0",array(1)));
 
Сверху