![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wydzielone z: http://forum.php.pl/index.php?s=&showt...st&p=803748 - DeyV
------------------------ nie mam jak zainstalowac, na płycie mam live bez żadnego serwera nic, a jak chce cos instalowac typu serwer etc to chce już zainstalowanego systemu PS. nie ma co juz kombinowac, pozostawię starą wersję co wysłałem juz jakis czas temu z tą moją funkcją, która w językach kompilowanych na pewno działałaby szybciej, ale php jest interpretowany i tutaj z tym jest różnie :/ Już jest północ to można pisać o zadaniach ![]() Ten post edytował DeyV 4.11.2010, 08:55:00 -------------------- :]
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Przyznam, że nie testowałem strlen vs while na długich ciągach znaków. Maksymalna długość to była ok. 30 znaków. Możliwe więc, że jest jak piszesz i wydajność while jest wprost proporcjonalna co długości ciągu, podczas gdy wydajność strlen jest bardziej stabilna. Gdzieś wyczytałem*, że strlen po drodze dokonuje kilku dodatkowych operacji (m.in. zamienia znaki na małe) wobec czego szukałem alternatywnego rozwiązania. Generalnie mój kod miał wiele odmian ![]() 1. Zakończenie dekodowania ciągu w momencie zebrania wszystkich parametrów, czyli dla np. K3W3A3Z3XXXXXXXXXXXXXXXXXXX kończymy w momencie dotarcia do pierwszego X. 2. Osobne generowanie prostokątów dla min = max. Zobaczymy jak to będzie ![]() * ![]() ![]() Co do 1 i 2 punktu to prawda, że mogło to pomóc, ale nie wiadomo jakie są testy. Nie wiadomo, czy ten zysk będzie większy niż czas na wykonanie tych 1k if`ów. Żeby mieć jakieś wnioski trzebaby założyć, że np. - długość ciągu jest losowa od 1 do 10k (przy większych u mnie nie działa), - parametry w ciągu są rozmieszczone losowo, - rozkłąd prawdopodobieństwa wylosowania danej liczby jest równomierny. I z takimi założeniami można już robić jakieś obliczenia/symulacje. A powyższe założenia są w miarę sensowne, ponieważ zakładam, że te testy generował komputer a nie człowiek. Ten post edytował flashdev 6.11.2010, 17:35:30 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 05:21 |