Od paru miesięcy mam styczność z PHP (SN :>) i zawsze klnę. Do obsługi stron internetowych i baz danych język ten jest spoko. Problemy pojawiają się gdy w grę wchodzą operacje na złożonych obiektach i tablicach, w dodatku zapętlonych. Jest po prostu wolno, zjada dużo RAMu i CPU, czyli jest nieoptymalnie.
Dlaczego tak się dzieje? Trzeba wiedzieć, że najprostszym kontenerem danych złożonych jest array[] - ale nie jest to tablica! Każdy element arraya pochłania ponad 50 bajtów pamięci (a na komputerach x64 nawet ponad 100 bajtów sick!). Elementy posiadają linki do prev/next, sumy kontrolne siebie i inne dane wspomagające, nawet gdy tego nie oczekujemy. Nie muszę mówić co się dzieje z procesorem i pamięcią przy bardziej złożonych operacjach..
Problemem jest to, że [] to najprostsza tablica w PHP, a jest ona bardzo nieoptymalna. Z tego powodu PHP bardzo często posiłkuje się bibliotekami skompilowanymi w C, żeby tę optymalizację jakoś "nadgonić".
Sort: Trending