Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ile maks. można użyć pętli (praktycznie)?
Joachim Peters
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Witam,

Chciałbym wiedzieć ile można maks. użyć pętli podczas jednego wykonywania skryptu i po jakiej ich ilości skrypt się znacznie spowolni.
Chodzi o pętle foreach.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zależy od maszyny na której działa i ustawień php.ini (ilość pamieći na skrypt, max czas wykonywania skryptu)


--------------------
Go to the top of the page
+Quote Post
Joachim Peters
post
Post #3





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Nie da się stwierdzić na oko po ilu się skrypt "wywali"? Jeśli chodzi o ustawienia php.ini to przyjmijmy standardowe.
Go to the top of the page
+Quote Post
luck
post
Post #4





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

Ostrzeżenie: (0%)
-----


Zależy również (jeśli nie przede wszystkim) od tego, co robisz w danym przebiegu pętli. Co innego jeśli np. po prostu zwiększasz o 1 jakiś licznik, a co innego, gdy pobierasz jakieś dane przez CURL lub SOAP i ładujesz je do tablicy. Wiadomo, że w drugim przypadku zasoby zostaną wyczerpane szybciej, a każda iteracja będzie trwała dłużej.


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie. Możesz sobie sam testowac. Pamietaj ze to bardzo roznie bywa z czasem wykonywania skryptów.


--------------------
Go to the top of the page
+Quote Post
Joachim Peters
post
Post #6





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Powiedzcie mi jeszcze tylko czy przy budowie drzewek stosuje się rekurencje z użyciem pętli? Ta pętla w takim przypadku jest wczytywana tyle razy, jakie jest duże zagłębienie?
Go to the top of the page
+Quote Post
wookieb
post
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Można pętli while ale rekurencja też nie jest zła. Wszystko zależy od toku myślenia programisty. Ja wole stosować rekurencje w takim przypadku.


--------------------
Go to the top of the page
+Quote Post
Joachim Peters
post
Post #8





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Nadałeś jakieś ograniczenie co do ilości zagłębienia? Co w przypadku kiedy poziom zagłębienie będzie wynosić 500?
Go to the top of the page
+Quote Post
luck
post
Post #9





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

Ostrzeżenie: (0%)
-----


Szczerze to mówimy trochę o niczym... Sprawdzałeś jak długo wykonuje się pętla powiedzmy dla 5 poziomów zagłębienia? Będziesz wtedy mniej więcej wiedział czego możesz oczekiwać, gdy liczba zagłębień wzrośnie np. 100 razy.


--------------------
Go to the top of the page
+Quote Post
wookieb
post
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tak. Daje limit jako dodatkowy parametr, Zreszta... Masz coś co ma az 500 zagłębien? praktycznie zdarza sie to tak samo rzadko jak trafienie w lotku 6...

Ten post edytował wookieb 24.08.2008, 10:45:33


--------------------
Go to the top of the page
+Quote Post
.radex
post
Post #11





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


napisanie funkcji rekurencyjnej jest bajecznie proste, ale mniej wydajne. Przy naprawdę dużej funkcji rekurencyjnej może nieźle zamulić pamięć (stos).

http://zyxist.com/pokaz.php/pozbadz_sie_rekurencji


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:11