Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP4 vs. PHP5, szybkość działania
batman
post
Post #1





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Witam

Mam dosyć poważny problem z php. Moim zadaniem jest napisać aplikację, która będzie działać pod bardzo dużym obciążeniem. Z własnych testów oraz z testów innych ludzi wynika, że PHP4 jest szybsze od PHP5. Jestem skłonny zrezygnować z dodatkowych możliwości jakie daje PHP5, jeśli uda mi się zaoszczędzić nawet setną część sekundy.

Co o tym sądzicie i jakie macie doświadczenia?
Go to the top of the page
+Quote Post
NetJaro
post
Post #2





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


Jeżeli to jest na prawdę duży projekt użyj PHP5. Większe możliwości. Moze dla niektórych przy mniejszych projektach PHP5 jest wolniejsze (chodź mi zawsze działa szybciej, nawet przy tych mniejszych) ma o wiele większe możliwości. Skoro to duży projekt - na pewno użyjesz bazy danych (+ cache). Wtedy tylko używac Open Power Drive (PDO + cache) ;-)

Trzeba iść z duchem czasu.. bo czas robi swoje ;-)
Go to the top of the page
+Quote Post
tansky
post
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 5.12.2005

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


No i serwer... Nie ma sensu oszczędzać na procedurach, jeśli zamuli Ci blaszak. Kup/wynajmij uczciwą maszynę, dbaj o jej wydajność i będzie w porządku.
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Serwer będzie bardzo silną maszyną, więc problemy sprzętowe odpadają. Chodzi tylko i wyłącznie o wydajność samego php.

Według:

http://byster.net/?page_id=48

oraz

http://byster.net/?page_id=36#a1

PHP4 jest dużo szybsze w pewnych sytuacjach. I o te sytuacje właśnie mi chodzi. Ja naciskam adminów by pozostawić 5, ale "góra" chce szybkości a nie bajerów, których zwykły użytkownik i tak nie będzie widział.
Go to the top of the page
+Quote Post
athabus
post
Post #5





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

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


Testów żadnych nie znam, ale wydaje mi się, że różnica nawet jeśli jest, to nie jest duża. To czego jestem na 100% pewien, to to, że zaoszędzić możesz znacznie więcej w innych miejscach -> np. Pisanie dobrego kodu, dobrze zaprojektowana baza danych + cache itd itp.

Inna sprawa to to, że kod pisany obiektowo jest wolniejszy od proceduralnego. I tutaj możesz jeszcze szukać jakichś oszczędności. Tyle tylko, że rodzi się pytanie czy na prawdę warto. Kod proceduralny jest na pewno trudniejszy w utrzymaniu i rozwoju. Zastanów się czy naprawdę warto bawić się w kod proceduralny pisany do tego w php4 dla wzrostu wydajności, który będzie tylko małym ułamkiem tego co zyskasz w innych miejscach.

//edit - dałeś linki do testów w czasie gdy pisałem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Różnice w większości przypadków nie są aż tak duże. Ja bym został na php5 - chyba, że naprawdę są jakieś poważne powody do przejścia ... cofnięcia się do wersji 4

//edit 2 - bajery w php5 są dla programisty a nie dla usera... Idąc tym tropem można robić strony tylko w html - będą jeszcze szybsze (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował athabus 6.10.2006, 14:20:55
Go to the top of the page
+Quote Post
NetJaro
post
Post #6





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


Cytat
Serwer będzie bardzo silną maszyną, więc problemy sprzętowe odpadają.

Silna nie zawsze znaczy wydajna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Może być źle skonfigurowana (co jest najczęściej popełnianym błędem Administratorów). Nie zdziw się gdzie mój "zwykły" komp (PC) będzie silniejszy od Twojej bardzo silnej maszyny - kwestia konfiguracji. ;-)
Go to the top of the page
+Quote Post
Turgon
post
Post #7





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


Tutaj zgadzam się z Jarkiem. Bardzo dużo zależy od konfiguracji i przedewszystkim odpowiednim pisaniem aplikacji i tutaj tkwi diabeł...
Po za tym kto robi pętle for na 10000 razy ?
Go to the top of the page
+Quote Post
batman
post
Post #8





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Sprawa serwera i jego konfiguracji leży w gestii administratorów i wiem, że jest to dobrze zrobione.

W kodzie również zastosowałem wszystkie "usprawniacze" poprawiające wydajność. Baza danych również jest zoptymalizowana.

Cytat
Po za tym kto robi pętle for na 10000 razy ?


Nie będzie takich pętli. Ale jeśli w tym samym momencie do jednego pliku, w którym znajduje się pętla for iterująca np do 10, będzie odwoływać się 1000 użytkowników spadek wydajności PHP5 jest zauważalny.

Cytat
Inna sprawa to to, że kod pisany obiektowo jest wolniejszy od proceduralnego.


Za duży jest to projekt, by się grzebać w pisanie kodu strukturalnie.
Go to the top of the page
+Quote Post
Turgon
post
Post #9





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


A tutaj widzę popełniasz błąd w założeniu batman (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Otóż php obsłuży każdy proces osobno, więc co ma piernik do wiatraka ?
Po za tym jak chcesz żeby szybciej było daj więcej RAMu...
Go to the top of the page
+Quote Post
dr_bonzo
post
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%)
-----


Cytat
Za duży jest to projekt, by się grzebać w pisanie kodu strukturalnie.

To jeszcze przelicz ile wyjdzie $$$ za druga maszyne a ile $$$ na twoja prace przy optymalizacji tysiecznych czesci sekundy.
Go to the top of the page
+Quote Post
batman
post
Post #11





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Maszyna już jest, kod jest już zoptymalizowany. Chodzi mi tylko o odpowiedź na pytanie dotyczące wydajności samego języka. Czy warto cofać się do PHP4?
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Czy warto cofać się do PHP4

Nie.
Go to the top of the page
+Quote Post
nasty
post
Post #13





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

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


Cytat
Czy warto cofać się do PHP4

Nie, dlatego ze niedlugo juz wyjdzie php6, to bedziesz sie 2xCofac do tylu (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
batman
post
Post #14





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Skoro już wiemy, że nie warto cofoać się do PHP4 (argument o PHP6 nie przekonuje mnie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) potrzenuję teraz tylko odpowiedzi na pytanie - dlaczego nie? Mam argumenty dla "góry", ale "góra" jest nastawiona na wydajność.
Go to the top of the page
+Quote Post
NetJaro
post
Post #15





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


"Dlaczego PHP5":

- trzeba iść z duchem czasu, PHP4 nie będzie (?) juz dalej kontunowane;
- wcale nie jest taki wolniejszy, praktycznie nie widac różnicy;
- większe możliwości;
- większa wygoda pracy;

Dlaczego nie warto cofać się do PHP4?
Po co pracować w czymś, gdzie jest możliwość lepszej pracy?

Walkę tą można porównać do: Notatnik kontra phpEdit (bądź inny dobry edytor). Tyle, że jest mniejsza różnica szybkości niż w tym wypadku.
Go to the top of the page
+Quote Post
marast78
post
Post #16





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 30.11.2004

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


nie wiemy nawet co to za projekt więc jak możemy stwierdzić, że PHP5 będzie wolniejsze..? a jak już bardzo chcesz przyśpieszyć do napisz sobie DLL własnego i po sprawie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a co do 'for' to w PHP5 jest mała różnica w porównaniu z foreach (proponuje przejrzeć sobie strony o optymalizacji w php Optymalizacja w php), poza tym php nie jest jezykiem, w którym się pisze programy duże obliczeniowo bo podejrzewam, że o takim myślisz..proponuję pisać wtedy podprogramy w C lub C++ o ile masz serwer do swojej pełnej dyspozycji..a nawet w tych językach bez odpowiednich DLL nie wszystko da siię zrobić...jeśli zamierzasz parsować duże ilości tekstu to proponuję użyć GAWK bądź korzystać BASHA..ale tak naprawde nie wiemy coo to za projekt...poza tym w PHP5 masz wyjątki nie musisz pisać setek ifów by obsłużyć każdy błąd wystarczy użyć wyjątków...itd.
Go to the top of the page
+Quote Post
batman
post
Post #17





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Niestety nie mogę napisać o jaki projekt chodzi. Mogę jedynia napisać, że jest to aplikacja online i nie może być pisana w C++, Delphi i innych podobnych językach. O bibliotekach też myślałem, ale w obecniej chwili nie da się jeszcze tego zrobić, ponieważ klasy są w ciągłej rozbudowie.
Go to the top of the page
+Quote Post
NetJaro
post
Post #18





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


Skoro jest to aplikacja.. hmm nie wiem czy dobrze rozumiem, ale AJAX tutaj by załatwił sporo w sprawie wydajności.. ;-)
I jeżeli dużo zapytań do bazy - drugi serwer pod bazę.
Go to the top of the page
+Quote Post
batman
post
Post #19





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Zapomniałem dodać, że aplikacja ma działać wszędzie. Pisząc wszędzie mam na myśli wszędzie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) FF, badzIEwie, opera, lynx, safari, konqueror, itd. A co do serwera już pisałem, że jest to bardzo dobra maszyna.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 02:03