2016-05-31 6 views
-1

私は、C#プロジェクトをいくつか計算して結果を返すために、C++プロジェクトを使いたいと思っています。アンマネージC++コードを使用して、C#プロジェクトの計算コストを削減することはできますか?

もし私がそうすればもっと効率的な計算速度を得ることができるのだろうか? C++/cliでネイティブコードをラップすると効率的でしょうか?

例はありますか? C#でAとBの2つのdouble値を持つとすると、A + BとA + Bを受け取るC++プロジェクトと、A + BまたはA * Bを計算して返す文字列値 "plus" ?

+1

このような単純な計算は、アンマネージコードの方がはるかに高速になることはありません。私はあなたを最も生産的にするフレームワークを使って構築し、何かを得て、最も多くの時間が費やされている場所を見て、それを改善しようとします。さもなければ、あなたはただ推測しているだけです。 –

+1

ネイティブ(C++)コードとマネージ(C#)コードの間には、実行可能なコードを実行するだけでなく、データを前後に渡すインターフェイス/コールバックとの深い統合に至るまで、数多くの質問/記事があります。利用可能なすべての情報があなたのケースで助けにならなかった理由は不明です。 –

+0

@AlexeiLevenkov:これらのリソースのいくつかへのリンクを提供してくださいますか? – Saeid

答えて

1

"あなたはどうすればいいですか"と "すべきか"の2つの問題があります。

「方法」に問題がある場合は、特定のコードと質問を投稿してください。

"すべきか"とは多少の不明瞭な質問です。これは、実行しようとしている計算の種類によって大きく異なります。これらの質問には、正しい答えが1つもないことがよくあります。 (このタイプの質問は、まさにその理由でスタックオーバーフローのために頻繁に使用されることに注意してください)。

C++コンパイラでは、.NETジッタより効率的なコードが生成されることがあります。いくつかのタイプについては、違いはありません。 C++では、GPUを使って計算を行うようなこともできます。

また、この最適化されたコードを書くのにどれくらいの時間がかかるか、実行する頻度を考慮してください。これを一ヶ月に一度夜間に実行する必要がある場合は、おそらく2時間もかかります。

関連する問題