JavaとPHPのメモリ/ CPU消費


8

私はPHPベースの会社で働いています。バックエンドサービスを作成するプロジェクトがあります。Javaよりも遅いですが、ここの上級メンバーはPHPを採用しています。彼らの唯一の論点は、メモリとCPU負荷の両方の観点から見ると、JavaはPHPよりも重いということです。

JVMはコンテナー環境に似ています。荷物を多く持ち込むと、それだけ多くの量を消費しますが、ここで話しているサービスは中程度の複雑さになります。だから、それはそれほど厳しいことではないでしょう(またはそれはでしょうか?)

私はこの質問が曖昧に大きく傾いていることを理解していますが、私が考えていることは、それは常に同じケースですか?そのJavaはよりハードウェアを要求しますか?私は、実際のシナリオがどのように見えるかについて、あなたが経験したすべての人々の意見を知りたいです。



1
もう一つの良い質問:stackoverflow.com/questions/3975691/...

2
ほとんどの場合、言語/プラットフォームは、速度に関しては決定的な要素ではありません。たとえば、データベースを適切に調整できなかった場合、使用している言語に関係なく速度が低下します。
GrandmasterB 2013年

2
JavaがPHPよりも多くのCPUを使用する理由がわかりません。ほとんどの場合、通常は各リクエストの初期費用が少なくなるため、逆のことが予想されます。
ダライアスX.13年

1
@ Shades88じゃあ、多分あなたや彼らはコンセプトの小さな証明を試すべきです:Javaで非常にメモリを消費している、そして/または遅いと思われるいくつかのモジュール/コードの一部は実際に両方の言語で実装され、それがどのように動作するかを見る必要があります。あなた(彼ら)はそのようなことに驚かれるかもしれません:Javaの余分なメモリの必要量は実際にはPHPのバージョンが必要とする以上のものではなく、Javaのバージョンはかなり速いかもしれません。
Shivan Dragon

回答:


10

速度が気になる場合は、CやC ++などのコンパイルされた、好きなように高速な言語でバックエンドを記述してください。PHPクライアントから利用できる単純なC / C ++ Webサービスを作成するためのWebサービスツールがたくさんあります。

ただし、すばやくコーディングしたい場合で、パフォーマンスがそれほど悪くない場合は、PHPで記述します。また、これを行うために必要なスキルを既に持っているという利点もあります。そのため、これは2つのボーナスです。

JavaはPHPに比べて大幅に肥大化しているわけではなく、「ステップアップ」の可能性がありますが、新しいシステムで必要なすべての細かい点やトリックを学習する必要があります。 PHPですぐに書いてください。ほとんどの場合、PHPでそれを実行するスキルがある場合は、それを最初の選択にする必要があります。主な専門分野から離れて別の言語で実行することを選択することは非常に慎重に検討し、明確な場合にのみ選択する必要がありますプライマリシステムに対する利点(この場合はないと思います)


PHPのコンパイルはどうですか?
ВиталийОлегович

1
HiphopまたはPhalangerを使用していますか?動作する可能性がありますが、CPU命令速度は通常、言語の動作方法と比較してそれほど大きなパフォーマンスの問題ではありません。現在、キャッシュヒット、メモリ使用量、およびIOの方が重要です。どちらにしても、JavaよりもPHPの方がJavaよりも優れていることを強調します。
gbjbaanb 2013年

1
彼らのほとんどがPHPをよく知っていて、それほど高いパフォーマンスを必要としない場合は、PHPが最適な言語だと思います。
ВиталийОлегович

1
「PHPのコンパイル」の提案をやめてほしい。HipHopはPHPをコンパイルしません。HipHopは、PHPからC ++へのソースコードトランスフォーマーです(C ++コンパイラーを使用してコンパイルされます)。HipHopは、タスクに間違った言語を選択するためのソリューションです。
Craige、2013年

2
@Craige:実際、HipHopはC ++にコンパイルされなくなりました。現在はランタイムJITエンジンになっています:github.com/facebook/hiphop-php/wiki
Joeri Sebrechts 2013年

4

多くのエンタープライズJavaショップでは、多くの抽象化とフレームワーク(ORM、EJB、Spring、サードパーティライブラリ、コンテナなど)をシステムに追加する傾向があります。これらの抽象化は意味のある場合がありますが、多くの場合、膨張(メモリ、CPU)と複雑さを追加することになります。

PHP、otohは、「現状のまま」、いぼなどすべてに使用できます。しかし、Javaを使用する場合は、さらに多くのパーツを調整する必要があります。

したがって、決定を下す前に、それらの他のことも考慮に入れる必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.