2012-03-16 17 views
1

私は2つの異なる言語でプログラムを書いたと仮定して、パフォーマンスを比較する必要があります。 実行時間を比較する以外にどのような面に焦点を当てるべきですか?さまざまな言語のパフォーマンスを比較するにはどうすればよいですか?

+0

消費電力?メモリフットプリント?ディスクI/O?ネットワークI/O? –

+0

私はこの問題について正しいとは確信していませんが、私は* [programmers.SE](http://programmers.stackexchange.com/)がこの質問の方が良いと思います。 – amit

+0

これに対する決定的な答えですが、使用される他のリソース(特にメモリ)も考慮する必要があります。パフォーマンスのどの側面が重要かによって異なります。 –

答えて

1

あなたは間違ったことに集中しています。本当に問題は、低レベル言語(高速)または高レベル言語(低速)を使用したいかどうかです。高レベルの言語はあなたのために多くのことを行いますし、それはまた、それを遅くする一定の前提を作るでしょう。高水準の言語では、複数の抽象レイヤーを経由しているため、自然に遅くなるでしょう。最高のパフォーマンスが必要な場合は、C++を使用します。あなたがもっと素早く何かを望むなら、アセンブリ言語を使用してください。 c#やjavaのような高水準言語は、下線付きの配管工事の多くがあなたのために処理されるので、より便利になるでしょうが、それに伴いパフォーマンスが低下します。この場合も、特定の前提条件と実行される余分なコードが含まれていますが、これは具体的には達成しようとしているものには関係しません。

異なる言語選択機能のパフォーマンスをテストしたい場合、言語またはプラットフォームで多くの下線機能を処理する必要があります。また、より低いレベルの言語は、ハードウェアへの直接アクセスを提供する傾向があり、それを操作する方法を調整することができます。最高のパフォーマンスを必要とするゲームエンジンやその他のアイテムは、Visual Basicのような言語とは対照的に、管理されていないコードを使用するとパフォーマンスが向上するため、一般的にはC++と書かれています。まずグラフィックスなどのようなカテゴリに焦点を当てて、パフォーマンスを向上させてからそこからいくつかのテストを選ぶ必要があります。また、インターネット上にすでに掲載されている既存のテストを、言語のパフォーマンスと比較して見つけることができます。

+0

["Cは効率的な言語の誤り"](http://scienceblogs.com/goodmath/2006/11/the_c_is_efficient_language_fa.php)。 – aioobe

+0

@aioobe:真剣に、あなたは 'restrict'について聞いたことがない人からCコードを最適化する方法についてアドバイスを受けていますか?つまり、Cのパフォーマンスについての多くの神話があり、エイリアスはC最適化の深刻な問題ですが、この記事では、この問題を誇張して、すべて新しいものを作り出すようです。 –

+0

Hehe ..あなたは明らかにCのことを知り、Cのコードを自分のものよりも最適化しています。私はちょうど1つの特定の言語の彼の賞賛への釣り合い錘としてのリンクを投稿しました... – aioobe

関連する問題