2016-12-09 11 views
-4

Javaをjavaのような言語と比較して、Cを高速処理言語にする基本的な領域は何ですか?また、常にPOP言語がOOPS言語より高速に処理されることはありますか?JavaとC言語の速度の差

+2

本当にこのトピックに関する多くのリソースを見つけることができます。 –

+2

参照:https://benchmarksgame.alioth.debian.org/u64q/java.html – Michael

+0

利用可能なリソースがありましたが、これに対する主な要因は具体的な回答ではありませんでした。 – learner8269

答えて

-2

ガベージコレクションを制御できるため、Cの方が速いことがわかっています。あなたが必要なときには物を作り、あなたがいなくなったら削除します。 Javaでは、いくつかの特別な点で自動的に行われます。 nowerdays javaは大幅に改善されましたが、それ以上の違いはありません。

+0

ガベージコレクションはパフォーマンス上の問題ではあまり問題になりません。 –

0

Cは、コンピュータのハードウェアとの通信が高速です。この理由の1つは、コンピュータのリソースの使用を管理する方がずっと柔軟性があるということです。

2

まず、このトピックに関する最も定評のある回答をご覧になることをお勧めします。Compiled vs. Interpreted Languages(1、2、4、5を読むのは難しい)実際、Cはとコンパイルされたという言語ですが、Javaはコンパイルされ、と解釈されます。

Cプログラムをコンパイルすると、元のソースコードがネイティブのマシン命令に変換され、その後ハードウェアによって直接実行されます。

コンパイラは、マシンコードを生成する代わりに、元のソースコードを最初にバイトコードに変換します。その後、インタプリタと呼ばれる別のプログラムは、バイトコードを調べ、呼び出されたアクションを動的に実行します。

もう1つの方法は、プログラムの実行中に翻訳されたコードがマシン命令に段階的に変換され、コンパイルされたコードがプログラムの実行前に翻訳されていることです。 - 出演者:What's the difference between compiled and interpreted language?

これらの理由から、コンパイルされた言語で書かれたプログラムは、インタープリタ言語を使って書かれたプログラムより速く実行されると言われています(CとJavaでは同じです)。しかし、この声明は、理論的な観点から構築されているので、塩の穀物で取るべきです。それは必ずしもそうではありません。 Cでプログラムを記述しても、必ずしもJavaプログラムより速く実行されるというわけではありません。たとえば、C言語はプログラムを高度に最適化する手段を提供します。しかし、間違ったやり方をすれば、それは助けになるかもしれません。さらに、プロセッサはますます高速化、高性能化しています。したがって、Javaコードでさえ完全に最適化することができます。

私は自分自身を理解することができたと思う(私はフランス語の講演者であり、まだ英語で自分のスキルを向上させる必要がある)。

+0

>>確かに、Cはコンパイルされた言語です。<<ここでは、Cインタプリタで実行されるCプログラムです - https://benchmarksgame.alioth.debian.org/u32/program.php?test=nbody&lang=cint&id = 1 – igouy