I need to store lots of two-dimensional arrays inside database and was not sure what to use: serialize
or implode
. So I did a few tests, to find out which one is working faster and came to the conclusion it was serialize
:
Execution times: 1'000'000
Serialize: 1.4974119663239 seconds
Implode: 2.5333571434021 seconds
Explode: 4.0185871124268 seconds
Unserialize: 1.6835169792175 seconds
So the question: Why is implode+explode so much slower then serialize+unserialize?
PS: I found this question already, but it is not exactly what I am asking.
My idea is that
explode
/implode
operate on strings that's why, whileserialize
/unserialize
output/input a string at the very ending/beginning. Probably the more strings youimplode
and the longer string youexplode
, the slower it is, have you tried?Which to use I don't know, it depends if you later wish to handle output string, I think
serialize
d string is more difficult to parse. But to store it in database or file I'd useserialize
.