Potrzebuję przechowywać wiele tablic dwuwymiarowych w bazie danych i nie byłem pewien, co używać: serialize
lub implode
. Więc zrobiłem kilka testów, aby dowiedzieć się, który z nich pracuje szybciej i doszedł do wniosku, że był serialize
:Serialize lub Implode
Execution times: 1'000'000
Serialize: 1.4974119663239 seconds
Implode: 2.5333571434021 seconds
Explode: 4.0185871124268 seconds
Unserialize: 1.6835169792175 seconds
Więc pytanie: Dlaczego implode + eksplodować więc znacznie wolniej następnie serialize + unserialize?
PS: Znalazłem już this pytanie, ale nie jest to dokładnie to, o co proszę.
To brzmi jakoś rozsądnie. I tak, im większa macierz, tym dłuższa implikacja/eksplozja działa. Już to przetestowałem. – Peon
@DainisAbols Miałem na myśli, że nie jest to zależność liniowa. Czy 'implode'ing cztery ciągi są dokładnie 2 razy wolniejsze niż improwizacja dwóch ciągów znaków? Chyba to coś więcej; imponowanie ośmiu łańcuchów zajęłoby więcej czasu niż czterokrotne implowanie dwóch ciągów (wszystkie ciągi powinny mieć tę samą długość). – Voitcus
'Implode 2 elementy: 1.8937180042267 sekund',' 'Implode 4 elementy: 2.4380650520325 sekund', ' Implode 8 elementów: 3.6058769226074 sekund'' Nie dokładnie dwa razy, ale blisko niego, podczas serializowania zmian z tym samym typem progresji, ale wolniejsze tempo. – Peon