FastCGI C++ とスクリプト言語 (PHP/Python/Perl) の比較 質問する

FastCGI C++ とスクリプト言語 (PHP/Python/Perl) の比較 質問する

同じ作業を実行するために FastCGI C++ を使用する場合と PHP/Python/Perl を使用する場合の長所と短所は何ですか。

パフォーマンスや設計上の落とし穴はありますか? あるいは、どちらか一方を使用する方が良いでしょうか? ご意見も歓迎します。(どちらか一方が優れている理由、またはどちらか一方が劣っている理由を教えてください)。

ベストアンサー1

スクリプト言語は C よりも遅いかもしれませんが、これは問題でしょうか? ほとんど問題にはなりません。パフォーマンスが問題になる場合は、重要な部分のみを翻訳し始めます。

twitter/ruby は良い例です。Ruby は遅いです。一部の言語機能 (そもそも Ruby を優れたものにしている機能) は、さまざまな種類の最適化を妨げます (これについては、jruby の人が書いた素晴らしい記事があります... ola bini だったかな? 思い出せません)。

それでも、TwitterはRubyで動いています。Rubyは十分に速い少し前に、「ブログ」で、Twitter がパフォーマンス上の理由から Scala に移行すると報じられましたが、実際には、メッセージ キュー (およびバックエンドの他の部分) のみが Scala に移行されました。Yahoo は複数の言語を組み合わせて実行されています。フロントエンドには PHP が使用され、パフォーマンスが重要な場所では他のより高速な言語が使用されています。

では、なぜパフォーマンスはそれほど重要ではないのでしょうか? 理由はいくつかあります。

  • データベースのボトルネック: スクリプトが遅いのではなく、データベースが遅いのです
  • クライアント側のボトルネック: ブラウザでのレンダリングはリクエストよりも時間がかかります。サーバー側を最適化すれば、誰も気付かないでしょう。
  • 水平スケーリング: アプリを最適化するよりも、別のサーバーを追加してリクエスト/秒を3倍にする方が安価になることが多い
  • 開発者の時間とメンテナンスは、プロジェクトで最もコストがかかる部分です。Web 対応の C コーダーよりも、アプリをメンテナンスする安価な Python 開発者を短時間で獲得できます。
  • コンパイル不要、開発サイクルが短い

もう一つのスクリプトの利点: 多くのスクリプト言語は、インライン化または高速な (C) コードの組み込みをサポートしています。

  • Python、インライン c
  • PHP: C の拡張機能
  • Rhino 経由のサーバーサイド JavaScript: Java/JVM への直接アクセス(良い例としては、オーストリア最大のウェブサイトの1つであるorf.atが挙げられます。ヘルマ- サーバーサイド JVM 解釈 JavaScript!)

特に Web 開発においては、高レベル スクリプトの利点は欠点をはるかに上回ると思います。

おすすめ記事