![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Dzięki!
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Problem w tamtym skrypcie jest taki, że gdy liczba jest w tablicy losuje kolejną i w końcowym wyniku nie będzie dokładnie tyle wylosowanych liczb ile zakłada programista.
To trzeba bardziej rozbudować, napisałem Ci coś takiego:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Fakt, update1:
Ten post edytował darko 21.02.2010, 12:21:11 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
I uważasz, że takie zapętlanie jest dobre?
IMHO, takie zapętlanie jak pokazałeś będzie znacznie wolniejsze od mojej jednej funkcji. (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
IMHO "zapętlanie" będzie prawie zawsze mniej żerne od rekurencji i zmiennych statycznych (IMG:style_emoticons/default/winksmiley.jpg) Poza tym - bez przesady - w tym przypadku nie ma sensu polemizować, co jest bardziej wydajniejsze. Po prostu dwa różne i działające rozwiązania tego samego problemu.
Ten post edytował darko 21.02.2010, 12:40:34 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem dla Ciebie testy (IMG:style_emoticons/default/winksmiley.jpg)
Oba skrypty w pętli for 100x Twój: Czas sredni: 0.000751972198486 Mój: Czas sredni: 5.31625747681E-5 (0.0000531625747681) Widzisz różnicę? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Hmm.. Ja też zrobiłem teścik w dwóch różnych skryptach, 100 losowanych liczb z przedziału 0-100: Twój:
This page was created in 0.0198168755 seconds a nawet: This page was created in 0.0250329971 seconds mój:
This page was created in 0.0054590702 seconds a nawet po którymś odświeżeniu strony wyszło This page was created in 0.0044279099 seconds Podtrzymuję zatem, swoje zdanie. ps. podejrzewam, że gdybym jeszcze u siebie zakomentował linię 20. zamiast pluć echo w każdej iteracji i zamiast tego dałbym na samym końcu print_r($temp); wynik byłby jeszcze lepszy (IMG:style_emoticons/default/smile.gif) Tak czy siak niech już ~thomson89 wybierze sobie bardziej optymalne rozwiązanie. Ten post edytował darko 21.02.2010, 12:50:30 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Twoje wyniki są co najmniej dziwne, wrzuć to do siebie:
I zobaczysz, co działa szybciej. Dodam, że zakodowałem u Ciebie echo i u mnie również usunąłem wyświetlanie. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie, najwyraźniej muszę się nauczyć robić testy wydajnościowe.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Czas sredni: 0.000356862545013 Fifi Czas sredni: 0.00377001523972 darko Czas sredni: 0.0000154257 mój Ten post edytował Wicepsik 21.02.2010, 13:58:06 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Czas sredni: 0.000356862545013 Fifi Czas sredni: 0.00377001523972 darko Czas sredni: 0.0000154257 mój Jak Twój ma działać, skoro nie zwiększasz licznika $i w pętli? Poza tym, gdy już liczba istnieje ma losować kolejną tak długo, aż wylosuje unikalną. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Racja. Poprawiłem już skrypt. Czas przy 10tys powtórzeń: 0.00002792100906
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
~Wicepsik Twój skrypt - podobnie, jak moje pierwsze rozwiązanie - generuje tablicę o różnej ilości elementów, raz jest 100, innym razem 101 elementów. Sprawdź.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:33 |