Ho bisogno di memorizzare molti array bidimensionali all'interno del database e non sono sicuro di cosa usare: serialize
o implode
. Così ho fatto alcuni test, per scoprire quale sta lavorando più velocemente e sono giunti alla conclusione che era serialize
:Serialize o Implode
Execution times: 1'000'000
Serialize: 1.4974119663239 seconds
Implode: 2.5333571434021 seconds
Explode: 4.0185871124268 seconds
Unserialize: 1.6835169792175 seconds
Quindi la domanda: Perché è implodere + esplodere modo molto più lento poi serialize + unserialize?
PS: ho già trovato la domanda this, ma non è esattamente quello che sto chiedendo.
Questo suona in qualche modo ragionevole. E sì, più grande è l'array, più implode/esplode è più lungo. Ho già provato anche questo. – Peon
@DainisAbols intendevo che non è una dipendenza lineare. "Implode'ing quattro stringhe esattamente 2 volte più lentamente di implodere due stringhe? Immagino sia di più; e l'implosione di otto corde richiederebbe più tempo di quello di implodere due corde quattro volte (tutte le corde dovrebbero essere della stessa lunghezza, naturalmente). – Voitcus
'Implodere 2 elementi: 1.8937180042267 secondi', ' Implodifica 4 elementi: 2.4380650520325 secondi', 'Implica 8 elementi: 3.6058769226074 secondi' Non esattamente due volte, ma vicino ad esso, mentre serializza le modifiche con lo stesso tipo di avanzamento, ma tasso più lento. – Peon