41

PythonのウェブページとPHPのウェブページのどちらが速いですか?

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

cgiを介してPythonベースのWebページを提供するのは、毎回起動が長いため、phpよりも遅いことを私は知っています。

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

4

10 に答える 10

89

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

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

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

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

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

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

于 2008-09-17T03:44:12.750 に答える
30

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

その理由は、すでに (おそらく) 稼働中のシステムがあり、時間と労力 (および経験) がすでに投資されているためです。取るに足らないパフォーマンスの向上 (私がそうなると主張しているわけではありません) のためにこれを破棄するのは愚かであり、彼の塩分に値するマネージャーはそれを支持するべきではありません。

また、システムで作業する必要がある他の人や Python の経験によっては、保守性に問題が生じる可能性もあります。

于 2008-09-16T21:24:46.780 に答える
2

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

于 2008-09-16T21:13:00.960 に答える
2

PHP と Python はよく似ているため、どのような種類の切り替えも必要ありません。

ある言語から別の言語に切り替えることで得られるパフォーマンスの向上は、単純にコードの変換にお金を費やさず (無料でコーディングしているわけではありませんよね?)、ハードウェアを追加購入するだけでは、はるかに打ち負かされてしまいます。

于 2008-09-16T21:16:15.257 に答える
1

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

「テクノロジーBの方が速いので、テクノロジーBに切り替える必要があります!」と言っても、実際には機能しません。

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

于 2008-09-16T21:11:49.433 に答える
1

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

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

于 2008-09-16T21:06:27.620 に答える
1

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

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

于 2009-02-04T06:28:30.933 に答える
0

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

于 2008-09-16T21:08:06.820 に答える
-1

私は新しい仕事で Web 開発に戻らなければなりませんでした。Pylons/Python がなかったら、代わりにジャングルに住むことを選んだかもしれません :) 私の主観的な意見では、PHP は幼稚園用です。私は 3 年生のときにやりました。多くの自尊心のある (または過大評価している) ソフトウェア エンジニアは、PHP コードに煩わされたくないでしょう。

なぜ私の雇用主は同意したのですか?私たち (チーム) は Python に切り替えたばかりで、何も言うことはありませんでした。Web サイトはこれまでも、そしてこれからも PHP ですが、Web を含む他のアプリケーションを Python で開発しています。パイロンの利点?Python ライブラリを Web アプリに統合できます。これは、私見ですが、大きな利点です。

パフォーマンスに関しては、まだ問題があります。

于 2010-03-09T20:13:47.687 に答える