Esempio:Serializzazione APC lenta?
$arr = array();
for($i = 5; $i < 300000; $i++)
$arr[$i] = 'foo';
apc_store('data', $arr);
Prende come 15 secondi. Per ottenere i dati ci vogliono circa 0,7 secondi.
Ma se serializzo i dati con php e lo memorizza in questo modo con apc_store('data', serialize($arr));
ci vuole solo 1 secondo.
per ottenere i dati serializzati e poi unserialize esso, ci vuole un po 'più di 0.6s
Perché APC così lento?
'apc_store()' attiva la funzione '__sleep()', giusto? Se ciò è vero, la [funzione viene eseguita prima della serializzazione] (http://php.net/manual/en/oop4.magic-functions.php). Forse questo riduce l'efficienza. Sembra anche che 'apc_store()' sovrascriva le voci esistenti ... garantito sto ancora imparando PHP così potrei essere lontano. – Rob
@MikeDtrick: APC non utilizza la serializzazione. Copia solo l'intera struttura 'zval' (a livello C). – Crozin
@Crozin Aspetta, cosa? Riguarda 'apc_store()' attivando '__sleep()'? È sbagliato? – Rob