Lord, Striming XML vs JSON |
Lord, Striming XML vs JSON |
12.09.2017, 18:49:23
Post
#1
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 32 Dołączył: 10.03.2004 Ostrzeżenie: (10%) |
Pisałem apkę do wczytywania dużych plików XML i JSON do bazy i mam pewien problem
mam 2 pliki jeden z tymi samymi danymi i do wczytywania XML używam https://github.com/prewk/xml-string-streamer a Json https://github.com/pcrov/JsonReader i okazuje się, że wczytywanie Json trwa x100 wolniej ;( sprawdzałem xdebug profilerem (o ile to dobrze zrobiłem) to za wolne działanie odpowiada ta class JsonReader. Mój kod. Co robię nie tak ;(
Witam czy ja zle zadaje pytania? bo moje tematy zawsze bez odpowiedzi Czego używacie do wczytywania dużych (~200MB ) plików JSON ? Ten post edytował Lord 12.09.2017, 12:16:28 |
|
|
13.09.2017, 07:03:45
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
Tutaj niestety wychodzi porównanie wydajności pomiędzy kodem napisanym w C + PHP (wbudowany moduł od obsługi XML w C wykorzystywany przez API w PHP) konta czyste PHP. Co tu dużo mówić, PHP jest wolny. Co możesz zrobić?
1. Upewnij się, że korzystasz z PHP 7.x nie 5.x - jest zauważalnie szybszy, ale na pewno nie zniweluje Ci to różnicy. 2. Poszukaj jakiegoś prasera, który został napisany jako moduł w C dla PHP. Wtedy powinieneś uzyskać czasy takie jak w przypadku XML-a. Przy czym nie mam pojęcia czy takowy istnieje. 3. To już jest obejście, nie rozwiązanie problemu: 3.a. Przy pomocy zewnętrznego, wydajnego softu konwertuj sobie JSON do XML przed przetworzeniem. 3.b. W ogóle skorzystaj z innej platformy. |
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 08:26 |