![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 6 Dołączył: 2.03.2011 Skąd: Wychylybyszyce :] Ostrzeżenie: (0%)
|
Powyższy kod działa tak jak zakładałem jednak tylko u mnie na localhoście. Natomiast w środowisku produkcyjnym wartości memory_get_usage(true); są ekstremalnie wysokie. Poniżej prezentuję wartości otrzymane na serwerze: PHP wersja 5.3.26, lokalnie taka sama wersja a wynik maksymalny to 6029312. Nie wiem dlaczego unset(); nie zwalnia pamięci zajmowanej przez te dwie tablice. Ktoś może mnie naprowadzić jak to zdebugować albo dlaczego jest takie duże zużycie? 14942208 28311552 39845888 ... 86507520 88342528 92012544 ... 97255424 97255424 97255424 ... 97779712 przed: 101187584 po: 98041856 ale jak na takie coś to chyba i tak dużo? |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%)
|
Unset nie służy do zwalniania pamięci tylko do "unsetowania" zmiennych. Odśmiecaniem pamięci zajmuje się garbage collector. Po co w ogóle robisz unset zmiennych na końcu funkcji, one i tak są lokalne i tracą życie z definicji z końcem jej wykonania.
Ten post edytował em1X 27.09.2013, 11:21:47 |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 00:22 |