Сериализовать или свернуть


Мне нужно хранить много двумерных массивов внутри базы данных, и я не был уверен, что использовать: serialize или implode. Поэтому я провел несколько тестов, чтобы выяснить, какой из них работает быстрее, и пришел к выводу, что это было serialize:

Execution times: 1'000'000
Serialize: 1.4974119663239 seconds
Implode: 2.5333571434021 seconds
Explode: 4.0185871124268 seconds
Unserialize: 1.6835169792175 seconds 

Итак, вопрос: почему взрывается+взрывается намного медленнее, чем сериализация+несериализация?

PS: Я уже нашел этот вопрос, но это не совсем то, что я спрашиваю.

Author: Community, 2013-03-05

1 answers

Моя идея заключается в том, что explode/implode оперируйте строками, вот почему, в то время как serialize/unserialize вывод/ввод строки в самом конце/начале. Вероятно, чем больше строк у вас implode и чем длиннее строка у вас explode, тем медленнее она работает, вы пробовали?

Что использовать, я не знаю, это зависит от того, захотите ли вы позже обработать выходную строку, я думаю, что serializeстроку d сложнее разобрать. Но для хранения его в базе данных или файле я бы использовал serialize.

 1
Author: Voitcus, 2013-03-05 08:22:43