Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parsowanie stringu, Apostrof vs. cudzysłów vs. heredoc
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Próba... ten sam ciąg znaków, te same zmienne w tych samych miejscach w ciągu znaków i wszystko w trzech funkcja, która każda z nich zwraca ten ciąg znaków w inny sposób. Funkcja EOF to heredoc. Funkcja stringA to cudzusłów. Funkcja stringB to apostrof. Jak myślicie, która będzie najszybsza?

Próba obejmowała przejście 50 iteracji pętli dla danej funkcji i przypisanie rezultatu do zmiennej. Każde wywołanie funkcji zostało liczone za pomocą microtime() i sumowane. Na końcu wynik dzielimy przez ilość iteracji i dostajemy wynik:

EOF: 0.0131 s
stringA: 0.0129 s
stringB: 0.0256 s

Kod użyty do próby znajdziecie tutaj: http://pastebin.com/NBEaUz5a

Zawsze myślałem, że apostrofy są szybsze niż cydzysłów. A tu proszę, zaskoczenie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Ilość prób jest zbyt mała, testy powinny być wymieszane (tj. powinieneś sprawdzać N razy opcję A, B, C, nie N razy A, N razy B, N razy C), powinieneś uwzględnić odchylenie standardowe.
2. Niepotrzebnie bawisz się w mikrooptymalizację. Nawet jak już znajdziesz najlepszą opcję dla danego przypadku, a przypadków tych będzie masa (bo szybkość będzie tutaj uzależniona od ilości użytych zmiennych (czyli ilości łączeń tekstów), ich długości, systemu operacyjnego, dokładnej wersji PHP i pewnie kilku innych rzeczy) i uda Ci się przyspieszyć kod o te 0.00006 sek. będzie to całkiem bezwartościowe w przypadku skryptu wykonującego się 0.05 sek. Czas, który tutaj marnujesz mógłbyś wykorzystać do optymalizacji rzeczywistych problemów.
3. Jeżeli potrzebujesz skorzystać z składni HERE/NEWDOC to już masz wskazówkę na to, że coś spieprzyłeś. (IMG:style_emoticons/default/wink.gif) Używaj tego, co w danej chwili wygodniejsze.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 22:09