![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 6.07.2008 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Od dłuższego czasu straszliwie mnie męczy jedno pytanie - co jest szybsze? " czy '? Przykładowo: Kod echo 'tekst'. $zmienna .'dalszy tekst...'; czy może Kod echo "tekst $zmienna dalszy tekst..."; (tu domyślam się, że wynik będzie najgorszy), czy może Kod echo "tekst". $zmienna ."dalszy tekst..."; ? Próbowałem to sprawdzić, jednak wyniki nie są jednoznaczne.
Raz wygląda to tak: Cytat 0.011702 0.014049 a raz tak: Cytat 0.022095 0.013994 Może ktoś już zna odpowiedź na to jakże nurtujące pytanie? Pozdrawiam. Ten post edytował kkuba 2.04.2009, 16:45:32 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
pierwsze 2 są ok, tak samo pewnie będą działać więc jak ci wygodniej.
a 3 jest fee ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 6.07.2008 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Kurde, no nie da się uzyskać tym moim sposobem jednoznacznej odpowiedzi.
Osobiście bardziej mi się podoba używanie apostrofów, co wg. tego artykułu jest 'dobrym nawykiem programisty'. Co wy o tym sądzicie, czy to prawda? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Kiedyś robiłem takie pomiary i wyszło mi, że bez doklejania czegokolwiek do tekstu oraz bez używania kodów formatujących, oba zapisy przetwarzane są w porównywalnym czasie. Różnice uwidaczniają się, gdy będziemy próbowali dokleić do tekstu wartość jakiejś zmiennej. W moich testach zapętliłem najpierw:
Kod 'tekst '.$zmienna.' tekst' a potem: Kod "tekst $zmienna tekst" I przy większej ilości zapętleń symulujących powszechne wykorzystanie konkretnego rozwiązania różnica była porażająca na korzyść tego pierwszego. -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
i bardzo fajnie
![]() w 1 łatwiej o analizę kodu , ale pamiętajmy że i 2 jest poprawny. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 6.07.2008 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
No to się cieszę, bo tak mi się właśnie zdawało : )
Poza tym, znajomy powiedział: "IK: (17:52) imo, apostrofy są szybsze IK: (17:52) nie musisz naciskać shifta" : ) Dzieki i pozdrawiam : ) |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 6.07.2008 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Hm.. no tak, ale kropke mam obok apostrofa, a przyzwyczajony jestem do używania lewego shifta, a że nie piszę tak 'jak się powinno' (wszystkie 10 palców - ja używam 7), więc muszę przenosić lewą dłoń, aby wcisnąć ten shift ; p
Poza tym podobno szybciej działa Kod "taki". $zapis Kod 'wnioskuje, ze ten tez dziala'. $szybciej niż Kod "taki $zapis"
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
@kkuba
Piszesz:
A jak wstawisz tablicę lub etodę obiektu? Musisz stosować łączenia. Cytat Raz wygląda to tak: Z ilu pomiarów są to średnie? @Spawnm Cytat a 3 jest fee A dlaczego? Cytat Osobiście bardziej mi się podoba używanie apostrofów, co wg. tego artykułu jest 'dobrym nawykiem programisty'. Ja używam tego co wygodniej jest pisać. Gdy potrzebuję zapytanie SQLowe zrobić, to używam podwójnych:
dzięki czemu nie muszę pisać \' Natomiast jeśli piszę kod HTML:
to daję pojedyncze - bo mi tak wygodniej. W ogóle, to szkoda nad tym za długo myśleć - po stokroć więcej uzyska się sprytnie konstruując pętle, klasy i zapytania niż zamienianie apostrofów. -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Tu masz moj post sprzed lat o tym wlasnie temacie, z kodem do testow: http://forum.php.pl/index.php?showtopic=56024&hl=
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 6.07.2008 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Cytat A jak wstawisz tablicę lub etodę obiektu? Musisz stosować łączenia. Starodawny jestem, klas nie używam : ) Przynajmniej póki co. Cytat Z ilu pomiarów są to średnie? Dwóch, całkowicie przypadkowych. Cytat Ja używam tego co wygodniej jest pisać. Gdy potrzebuję zapytanie SQLowe zrobić, to używam podwójnych:
dzięki czemu nie muszę pisać \' Ja piszę: Kod mysql_query('UPDATE tabela SET pole="wartosc" '); : ) Praktycznie wszędzie używam apostrofów, od początku tak robiłem - weszło w krew. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A jak wstawisz tablicę lub etodę obiektu? Musisz stosować łączenia. Pomijając oczywiście fakt, że jest to rozwiązanie wysoce nieefektywne, to jednak nie ma problemu z wstawieniem tablicy lub obiektu:
-------------------- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Cytat Dwóch, całkowicie przypadkowych. To na bank super wiarygodne ![]() Cytat ok, ale mi chodzi o zapis typu echo "lol ".$zmienna."lol"; po co spowalniasz kod dając " skoro i tak zmienne lecą między kropki:P W tym wypadku tylko wygoda/przyzwyczajenie. Cytat Pomijając oczywiście fakt, że jest to rozwiązanie wysoce nieefektywne, to jednak nie ma problemu z wstawieniem tablicy lub obiektu: Nie mówię, że nie można ![]() ![]() -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 6 Dołączył: 18.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie mam zdania na temat tego co jest szybsze, ale wiem co jest bardziej przejrzyste... i myślę, że zapis 'aaaa'.$zmienna.'bbbb' powinien być jedynym stosowanym... wprowadzanie zmiennej "wewnątrz" stringa wprowadza tylko zamieszanie i nie jest logicznie uzasadnione. Ot co
![]() Problem jest tylko taki, że nie można być konsekwentnym i stosować tylko jednego zapisy. Spróbujcie na ten przykład: fputs($handle, $zmienna.'\n'); ni da rady ;] Ten post edytował pi_wo 2.04.2009, 19:02:07 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Może jeszcze porozmawiamy co jest szybsze? echo czy print ? A może o pętlach porozmawiamy? No bez jaj, jak by to miało jakieś znaczenie. Ja tam u siebie w kodzie mam oddzielone php od htmla, i piszę jak mi wygodniej, a cała prędkość polega na tym że jak ' i " jest 1 bajt czyli 8bitow, czy mu zrobisz ' czy " komputer dostanie 8 bitow, proste, ascii sie kłania, a wierz lub nie 8 bitów liczy tak samo, tylko zależy od tego ile procesów ma aktualnie w pamięci zadeklarowanych, z taką szybkością Ci przemieli. Pisz tak jak Ci wygodnie, ja czasami zapytanie do sqla w ogole piszę np tak:
Kod pg_query("INSERT INTO tabela (asd, haf, hara, teasd) VALUES ('$_POST[asda], $_POST[asdag], $_POST[agae], $_POST[4tagf]'); Czasami piszę tak Kod pg_query("INSERT INTO tabela (asd, haf, hara, teasd) VALUES ('".$_POST[asda]."', ...); Czasami w ogóle nie piszę ![]() Piszesz tak jak chcesz i tak jak Ci wygodnie, tak jak Ci się składnie podoba. Nie patrz na takie bzdety co jest szybsze, bo to akurat w takich rzeczasz jest najmniej istotne, bardziej istotniejsze było by spytanie czy rzutowanie typu w php jest czasochłone, ale dla mnie to i tak jest bez znaczenia ![]() Pozdrawiam. @EDIT tam na dole kkuba ja sobię piszę tak jak mi wygodniej i się dobrze z tym czuję, grzebiesz w moim kodzie że mówisz że to jest nonsens? Nie. To wyluzka i klep swój kod, co się mojego czepiasz, jak go nie widzisz ? ![]() Ten post edytował cojack 2.04.2009, 19:30:49 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 6.07.2008 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Cytat Problem jest tylko taki, że nie można być konsekwentnym i stosować tylko jednego zapisy. Spróbujcie na ten przykład: fputs($handle, $zmienna.'\n'); ni da rady ;] A, nie wspomnialem - tylko w tym przypadku stosuje ", ale i tak prawie w ogole : ) ps. Widzę, że wątek oblegany jest przez tłumy : d //edit: Cytat Pisz tak jak Ci wygodnie, ja czasami zapytanie do sqla w ogole piszę np tak: [...] Czasami piszę tak Hm.. Nie wiem co na to odpisać.. non sens? Kod staje się mniej czytelny, musisz patrzeć czy użyłeś tu apostrof czy cudzysłów.. bez sensu. Ten post edytował kkuba 2.04.2009, 19:16:43 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 8 Dołączył: 20.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Kiedyś czytałem jakieś benchmarki, w których ktoś udowadniał, że ' jest szybsze od ". Ale takie mikroptymalizacje są bez sensu, bo i tak niczego nie zmienią w prawdziwym programie.
A co do tego, czy używać ' czy ", to jest jeszcze jedna kwestia - jeżeli IDE/edytor na to pozwala(PHPEclipse przykładowo), to można ustawić osobne style (np kolor) dla stringów w zależności czy są w ' czy ". Wtedy używając np " do napisów, a do tablic ' można uzyskać większą czytelność (IMHO), np:
albo
Ten post edytował michalg 2.04.2009, 19:26:27 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja tam zawszę stosuję ' do stringów, wg mnie jest to po prostu bardziej czytelniejsze - przynajmniej edytor koloruje to poprawnie i wiadomo o co chodzi.
Cytat Problem jest tylko taki, że nie można być konsekwentnym i stosować tylko jednego zapisy. Spróbujcie na ten przykład: fputs($handle, $zmienna.'\n'); ni da rady ;]
-------------------- XMPP: l0ud@chrome.pl
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 6 Dołączył: 18.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ja tam zawszę stosuję ' do stringów, wg mnie jest to po prostu bardziej czytelniejsze - przynajmniej edytor koloruje to poprawnie i wiadomo o co chodzi.
no tak, nie na darmo mówią, że człowiek uczy się całe życie. ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 13:25 |