web-dev-qa-db-ja.com

どちらが速いですか、python webpagesまたはphp webpages?

どちらが速いですか、python webpagesまたはphp webpages?

パイロン(または他のフレームワーク)の速度が、PHPで作成された同様のWebサイトと比較される方法を知っていますか?

pythonベースWebページをcgi経由で提供することは、毎回の起動が長いためphpより遅いことを知っています。

私はパイロンの使用を楽しんでいますが、それがphpよりも遅い場合はそれを使用します。しかし、パイロンがphpよりも高速である場合は、おそらく、最終的には雇用主にサイトをパイロンに変換できるように説得することができます。

39
Echo

2つの言語を比較したくないようですが、2つのWebシステムを比較したいようです

多くの変数が関係しているため、これは注意が必要です。

たとえば、Python Webアプリケーションは、 mod_wsgi を利用してWebサーバーと通信できます。これは、PHP Webサーバーと通信します(ApacheはワーカーのようなマルチスレッドMPMではなくmod_phpでのみPrefork MPMを使用できるため、Apacheを使用している場合はmod_phpでも遅くなります)。

コードのコンパイルの問題もあります。ご存じのとおり、Pythonは、ファイルが変更されるたびにファイルが実行されるときに、ジャストインタイムでバイトコード(.pycファイル)にコンパイルされます。したがって、Pythonファイルの最初の実行後、コンパイル手順はスキップされ、Pythonインタープリターはプリコンパイルされた.pycファイルをフェッチするだけです。このため、PythonにはPHPよりもネイティブな利点があると主張できます。ただし、PHP Webサイト(私のお気に入りは eAccelerator )にオプティマイザーとキャッシュシステムをインストールして、ほぼ同じ効果を得ることができます。

一般的に、十分なツールが存在するため、他の人ができることのほとんどすべてを実行できます。もちろん、他の人が述べたように、言語を切り替えるビジネスケースには単なる速度以上のものがあります。私の現在の雇用者のoCamlで書かれたアプリがありますが、元の作者が会社を辞め、他の誰もそれに触りたくないので間違いであることが判明しました。同様に、PHP WebコミュニティはPython Webコミュニティよりもはるかに大きくなっています。ウェブサイトホスティングサービスは、PHPサポートよりもPythonサポートを提供する可能性が高くなります。等.

しかし、スピードに戻ります。ここでの速度の問題には、多くの可動部品が含まれることを認識しなければなりません。幸いなことに、これらのパーツの多くは独立して最適化できるため、さまざまな方法でパフォーマンスを向上させることができます。

88
Ross

特に既存のシステムではなく、PHP=からPythonに移植するように雇用主を説得しようとしても意味がありません。

この理由は、時間と労力(および経験)の既存の投資で、(おそらく)動作するシステムを既に持っているからです。些細なパフォーマンスの向上のためにこれを破棄するのは愚かなことであり、彼の塩に値するマネージャーはそれを支持すべきではありません。

また、システムを操作しなければならない人やPythonでの経験に応じて、保守性に問題が生じる場合があります。

29
Rob

PHP(> 5.5)は、Webサイトのスクリプト用に最適化されているため、複雑なWebアプリケーションではより高速で信頼性が高いと想定します。

ネットで見つかるベンチマークの多くは、好みの言語が優れていることを証明するためだけに作成されています。ただし、2回の言語をX回実行される数学タスクと比較することはできません。実際のベンチマークには、数百のクラス/ファイルを持つ2つの同等のフレームワークと、一度に100のクライアントを実行するWebアプリケーションが必要です。

7
RubbelDeCatc

それはほぼ同じです。違いは、どちらか一方を選択する理由になるほど大きくないはずです。独自の小さなベンチマークを書いてそれらを比較しようとしないでください("hello world")おそらく、より複雑なページを生成する実際のWebサイトを代表する結果が得られないためです。

2
indentation

PHPとPythonは、あらゆる種類の切り替えを警告しないほど十分に類似しています。

ある言語から別の言語に切り替えることで得られるパフォーマンスの改善は、コードの変換にお金を費やさず(無料でコードを作成しないのですか?)、ハードウェアを追加購入するだけで大​​いに抑制されます。

2
SCdF

壊れていない場合は修正しないでください。

簡単なテストを書くだけですが、特定の機能では各言語が他の言語よりも高速になることに留意してください。

1
UnkwnTech

an IS組織は、可用性が問題にならない限り、これを考えません。

その場合は、レプリケーション、負荷分散、および大量のRAMを調べてください。

1
sara palin

「より速い」だけでなく、切り替えのビジネスケースを作成できる必要があります。テクノロジーBで構築されたサイトが一定期間(3年など)の開発にかかる開発者の時間を20%増やす場合、パフォーマンスギャップを埋めるためにテクノロジーAを実行するシステムに別のWebサーバーを追加する方が安くなる可能性があります。

「テクノロジーBはfaster! "であるため、テクノロジーBに切り替える必要があります」と言ってもうまくいきません。

PythonはPHPよりもはるかに普遍的ではないので、ホスティング、開発者、およびその他のメンテナンスコスト(長期)がこのシナリオに当てはまる場合でも、私は驚かないでしょう。

1
Peter Bailey

唯一の正しい答えは「それは依存します」です。パフォーマンスに影響を与える可能性のある変数はたくさんあり、どちらの状況でも多くのものを最適化できます。

0
Aeon