Gremboloid
инженера Гр...
Исправил
TYPE | ACTIVITY | TIME
-------------------------------------------------
serialize | WRITE | 0.03691
var_export | WRITE | 0.04685
serialize | GET | 0.04023
var_export | GET | 0.08005
<?php
for ($i = 0; $i < 100000; $i++) {
$o[$i] = md5($i);
}
printf("%-10s | %8s | %s\n", 'TYPE', 'ACTIVITY', 'TIME');
printf("-------------------------------------------------\n");
$t = microtime(true);
file_put_contents(__DIR__ . '/cache/serialize.cache', serialize($o));
printf("%-10s | %8s | %.5f\n", 'serialize', 'WRITE', microtime(true) - $t);
$t = microtime(true);
file_put_contents(__DIR__ . '/cache/var_export.cache', '<?php return ' . var_export($o, true) . ';');
printf("%-10s | %8s | %.5f\n", 'var_export', 'WRITE', microtime(true) - $t);
$t = microtime(true);
$a = unserialize(file_get_contents(__DIR__ . '/cache/serialize.cache'));
printf("%-10s | %8s | %.5f\n", 'serialize', 'GET', microtime(true) - $t);
$t = microtime(true);
$a = include __DIR__ . '/cache/var_export.cache';
printf("%-10s | %8s | %.5f\n", 'var_export', 'GET', microtime(true) - $t);
Вы, Соломон Рюрикович, или крестик снимите, или трусики наденьте.восстановление осуществляет синтаксический парсер PHP (1)
засирание кешера опкода(2)
Еще раз повторяю - это все полная ерундаВот ещё немного информации для размышления:
— Производительность кодирования и декодирования serialize и json — часть вторая
— Сериализация в php: serialize, json, bson
использовать опкод кешер для кеширования бред
Например, много горячего контента, из-за чего из кеша начнут сами скрипты вылетать
Ноль разницы, куда важнее смотреть на то зачем это делается, и в зависимости от этого, смотреть что логичнее (иногда лучше использовать более медленное решение, но которое позволит открыть простор для оптимизации быстродействия там где оно действительно необходимо)Собираюсь сохранить большой сериализованный массив.
Потом достать его.
Куда лучше сохранить: в файл и получить при помощи file_get_contents()
или в Memcache ?
~200Мб в памяти пхп