![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 2.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Spędziłem już wiele godzin szukając jakiś dobrych opracowań na temat wydajności PHP vs XYZ, jednak wszystkie opierały się na porównaniu szybkości samej maszyny wirtualnej. Nie wspominająco tym, że niemal wszyscy zdają się niewiedzieć, że da się skompilować PHP do bytecodu i to w sposób fajniejszy, bo dynamiczny, zamiast całego projektu na raz po wstawieniu przecinka...
No i oglądam sobie testy z których wynika, że interpretowany PHP jest 3x wolniejsze od Javy, trochę wolniejsze od Pythona (oczywiście jego wynik też wszyscy mierzą z czasem kompilacji). Jednak nie ten konkretnie temat - niesprawieliwego mierzenia - chciałbym poruszyć. Niech PHP nawet będzie tym najwolniejszym językiem, jednak z tego co wiem - nikt nigdy tego argumentu nie używa, więc zaczynam mieć wątpliwości - 70-90% "kodu" systemów napisanych w PHP wykonuje się w czystym C! Wszystkie funkcje wbudowane są w C, połączenie z bazą jest w C, cały PECL jest w C. Java i Python (nie wiem jak Ruby) mają całą bibliotekę napisaną w "samym sobie". Widziałem nawet jeden tekst w internecie: "nie bedziemy mierzyć szybkości sortowania w PHP za pomocą funkcji wbudowanej, bo to by było niesprawiedliwe" - WTF?! Programowanie w PHP jest trochę jak skryptowanie systemu w BASH-u. To tylko ubranie gotowego kodu C w logikę biznesową - a może się mylę? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 15.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
zajmuje się serwerem który na jednej cztero procesorowej maszynie z trzema dyskami obsługuje 1,5 miliona odwiedzin dziennie. Ludzie ściągają dziennie kilka milionów stron generowanych w php a requestów jest pewnie kilka razy tyle. Do tego 1/2 ruchu na serverze to forum na vbulletinie (bardzo rozbudowany framework, działa obiektowo). Cały php działa tylko na jednej maszynie, jest druga maszyna zajmująca się jedynie bazą danych. Forum ma kilkanascie milionów postów. Server który to obsługuje nawet za bardzo się nie poci. Myśle że pociągnął by spokojnie nawet po wyłączeniu akceleratora i to pewnie tez by go nie zmęczyło. (mocy jest nadmiar bo server obsługuje też wiele skryptów które w czasie rzeczywistym robią statystyki i przygotowywują dodatkowe dane). Patrząc na różne testy wydajności i jakość kodu jaki widziałem w ASP i Railsach śmiem twierdzić że żaden z tych języków nie dał by rady przy tym obciążeniu na jednej maszynie.
Ktoś też napisał że nie wie czy jest duża i potężna aplikacja napisana w php, tylko co rozumie przez potężną aplikache? 10 mb kodu to już duża aplikacja? a 50mb? To że 95% "programistów" PHP nie napisało w życiu niczego więcej od prostego sklepu internetowego nie oznacza że PHP nie jest wykorzystywany przy bardzo dużych projektach. A porównywanie C z PHP jest raczej śmieszne, dawno temu pisałem skrypty w CGI używająć C i jak tylko pojawiło się PHP 4 nie zastanawiałem się nawet 5 minut który język wybrać. Należy mierzyć podobne języki, PHP, ASP, Railsy, Python a nie robić testy oderwaje od rzeczywiśtości. Bo nikt przy zdrowych zmysłach nie rozważa zamiany PHP na C czy Javy na Pascala ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Server który to obsługuje nawet za bardzo się nie poci. Myśle że pociągnął by spokojnie nawet po wyłączeniu akceleratora i to pewnie tez by go nie zmęczyło. (mocy jest nadmiar bo server obsługuje też wiele skryptów które w czasie rzeczywistym robią statystyki i przygotowywują dodatkowe dane). Patrząc na różne testy wydajności i jakość kodu jaki widziałem w ASP i Railsach śmiem twierdzić że żaden z tych języków nie dał by rady przy tym obciążeniu na jednej maszynie. Tu nie decyduje wydajność języka, którą można praktycznie pominąć, a wydajność napisanego kodu. Ktoś też napisał że nie wie czy jest duża i potężna aplikacja napisana w php, tylko co rozumie przez potężną aplikache? 10 mb kodu to już duża aplikacja? a 50mb? To że 95% "programistów" PHP nie napisało w życiu niczego więcej od prostego sklepu internetowego nie oznacza że PHP nie jest wykorzystywany przy bardzo dużych projektach. ![]() ![]() -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 15.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tu nie decyduje wydajność języka, którą można praktycznie pominąć, a wydajność napisanego kodu. Ja zakładam od razu ze soft jest dobrze napisany i mimo to nie podoła. Choc przy logice tego co widziałem w niektorych projektach asp to ciężko się doszukiwać dobrze napisanego kodu ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Ja zakładam od razu ze soft jest dobrze napisany i mimo to nie podoła. Zgadzam się w 100%. ASP.NET - a w szczególności w połączeniu z Web Controls potrafią z początkującego programisty zrobić tępego rzemieślnika.
Choc przy logice tego co widziałem w niektorych projektach asp to ciężko się doszukiwać dobrze napisanego kodu ![]() Ten post edytował nasty 9.08.2009, 18:42:00 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 18:00 |