Co jest szybsze, strony w Pythonie czy strony w php?

Co jest szybsze, strony w Pythonie czy strony w php?

Czy ktoś wie jak szybkość pylonów (lub innych frameworków) porównuje się do podobnej strony zrobionej w php?

Wiem, że serwowanie strony bazowej Pythona przez cgi jest wolniejsze niż php ze względu na jego długie uruchamianie za każdym razem.

Lubię używać pylonów i nadal bym go używał, gdyby był wolniejszy niż php. Ale gdyby pylony były szybsze od php, to może, miejmy nadzieję, w końcu przekonam mojego pracodawcę, aby pozwolił mnie do przekształcenia strony na pylony.

Author: SherylHohman, 2008-09-17

11 answers

Wygląda na to, że nie chcesz porównywać dwóch języków, ale chcesz porównać dwa Systemy Internetowe .

Jest to trudne, ponieważ istnieje wiele zmiennych zaangażowanych.

Na przykład aplikacje internetowe Pythona mogą skorzystać z mod_wsgi , aby rozmawiać z serwerami sieciowymi, co jest szybsze niż jakikolwiek typowy sposób, w jaki PHP rozmawia z serwerami sieciowymi (nawet mod_php jest wolniejszy, jeśli używasz Apache, ponieważ Apache może używać tylko Prefork MPM z mod_php zamiast wielowątkowego MPM jak Worker).

Jest też kwestia kompilacji kodu. Jak wiesz, Python jest kompilowany just-In-time do kodu bajtowego (.pliki pyc), gdy plik jest uruchamiany za każdym razem, gdy plik się zmienia. Dlatego po pierwszym uruchomieniu pliku Pythona, krok kompilacji jest pomijany, a interpreter Pythona po prostu pobiera wstępnie skompilowany plik .plik pyc. Z tego powodu można argumentować, że Python ma natywną przewagę nad PHP. Jednak optymalizatory i buforowanie systemy mogą być instalowane dla stron internetowych PHP (mój ulubiony to eAccelerator ) z takim samym efektem.

Ogólnie rzecz biorąc, istnieje wystarczająco dużo narzędzi, aby jeden mógł zrobić wszystko, co drugi może zrobić. Oczywiście, jak już wspomnieli inni, w przypadku biznesowym zmiana języków jest czymś więcej niż tylko szybkością. Mamy aplikację napisaną w oCaml u mojego obecnego pracodawcy, co okazało się błędem, ponieważ pierwotny autor opuścił firmę i nikt inny nie chce dotknij. Podobnie społeczność internetowa PHP jest znacznie większa niż społeczność internetowa Pythona; usługi hostingowe stron internetowych są bardziej prawdopodobne, że oferują wsparcie dla PHP niż wsparcie dla Pythona itp.

Ale z powrotem do prędkości. Musisz zdawać sobie sprawę, że kwestia prędkości obejmuje wiele ruchomych części. Na szczęście wiele z tych części można niezależnie zoptymalizować, co daje różne możliwości poszukiwania zysków z wydajności.

 87
Author: Ross,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-31 12:54:30

Nie ma sensu przekonywać swojego pracodawcy do portowania z PHP na Python, szczególnie nie dla istniejącego systemu, co myślę, że sugerowałeś w swoim pytaniu.

Powodem tego jest to, że masz już (prawdopodobnie) działający system, z istniejącą inwestycją czasu i wysiłku (i doświadczenia). Odrzucenie tego na rzecz trywialnego zysku (nie żebym twierdziła, że taki będzie) byłoby głupie, a żaden menedżer wart swojej soli nie powinien popierać to.

Może to również powodować problem z utrzymywaniem, w zależności od tego, kto jeszcze musi pracować z systemem i ich doświadczenia z Pythonem.

 28
Author: Rob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 21:24:46

Zakładam, że PHP (>5.5) jest szybsze i bardziej niezawodne dla złożonych aplikacji internetowych, ponieważ jest zoptymalizowane pod kątem skryptów stron internetowych.

Wiele benchmarków, które znajdziesz w sieci, zostało stworzonych tylko po to, aby udowodnić, że preferowany język jest lepszy. Ale nie można porównywać 2 języków z zadaniem matematycznym uruchamianym X-razy. Aby uzyskać prawdziwy benchmark, potrzebujesz dwóch porównywalnych frameworków z setkami klas/plików oraz aplikacji internetowej obsługującej 100 klientów naraz.

 4
Author: RubbelDeCatc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-10 09:47:19

PHP i Python są wystarczająco podobne, aby nie zakłócać żadnego przełączania.

Każda poprawa wydajności, jaką możesz uzyskać po przejściu z jednego języka na drugi, byłaby znacznie lepsza, po prostu nie wydając pieniędzy na konwersję kodu (nie kodujesz za darmo, prawda?) i po prostu kupić więcej sprzętu.

 2
Author: SCdF,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 21:16:15

To mniej więcej to samo. Różnica nie powinna być wystarczająco duża, aby być powodem do wyboru jednego lub drugiego. Nie próbuj ich porównywać pisząc własne małe benchmarki ("hello world"), ponieważ prawdopodobnie nie będziesz miał wyników reprezentatywnych dla prawdziwej strony internetowej generującej bardziej złożoną stronę.

 2
Author: indentation,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-09 11:15:02

Jeśli nie jest zepsuty, nie naprawiaj tego.

Po prostu napisz szybki test, ale pamiętaj, że każdy język będzie szybszy z pewnymi funkcjami niż drugi.

 1
Author: UnkwnTech,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 21:06:27

Sprawdź języki programowania:

Http://dada.perl.it/shootout/

 1
Author: Doug T.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 21:09:32

Musisz być w stanie zrobić uzasadnienie biznesowe dla przełączania, a nie tylko, że "jest szybciej". Jeśli witryna zbudowana w technologii B kosztuje 20% więcej czasu dewelopera na konserwację w określonym okresie (powiedzmy 3 lata), prawdopodobnie tańsze byłoby dodanie innego serwera www do systemu z technologią a, aby wypełnić lukę w wydajności.

Tylko mówię: "powinniśmy przełączyć się na technologię B, ponieważ technologia B jest szybsza!" tak naprawdę nie działa.

Ponieważ Python jest znacznie mniej wszechobecny niż PHP, nie zdziwiłbym się, gdyby hosting, deweloper i inne koszty utrzymania dla niego (długoterminowe) pasowały do tego scenariusza.

 1
Author: Peter Bailey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 21:11:49

Organizacja IS Nie zastanawiałaby się nad tym, gdyby dostępność nie stawała się problemem.

Jeśli tak, zajrzyj do replikacji, równoważenia obciążenia i dużej ilości pamięci ram.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-04 06:28:30

Jedyną prawidłową odpowiedzią jest "to zależy". Istnieje wiele zmiennych, które mogą wpływać na wydajność, i można zoptymalizować wiele rzeczy w każdej sytuacji.

 0
Author: Aeon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-16 21:08:06

Musiałem wrócić do tworzenia stron internetowych w mojej nowej pracy, a gdyby nie pylony / Python, może wybrałbym zamiast tego życie w dżungli:) moim subiektywnym zdaniem PHP jest dla przedszkola, zrobiłem to na trzecim roku uni i wierzę, że wielu szanujących się (lub nadmiernie szacujących) programistów nie będzie chciało zawracać sobie głowy kodem PHP.

Dlaczego moi pracodawcy się zgodzili? My (zespół) właśnie przełączyliśmy się na Pythona, a oni nie mieli zbyt wiele do powiedzenia. Strona nadal jest i będzie PHP, ale rozwijamy inne aplikacje, w tym web, w języku Python. Zalety pylonów? Możesz zintegrować swoje biblioteki Pythona z aplikacją internetową, a to jest, imho, ogromna zaleta.

Jeśli chodzi o wydajność, nadal mamy problemy.

 0
Author: notageek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-09 20:13:47