2016-04-22 4 views
3

私はC++とMatlabの両方でコーディングしています。 C + +プロジェクトではVS2013(または2015)を使用します。 VSには、デバッグとリリースという2つの異なるデフォルト設定があり、2つ目は通常は大幅に高速です。 Matlabでは常にMatlabのコマンドラインから自分のコードを実行します。設定を変更してMatlabのパフォーマンスを向上させる方法はありますか?Matlabにデバッグとリリースの設定があります

私はMatlabコードをコンパイルできますが、パフォーマンスを向上させることができます(私は通常、画像解析または非線形システム解決のいずれかを行います)。私は、MatlabのコードからCコードを作ることができることも知っています。

私は完全な答えが見つかりませんでした。私の推測では、スクリプト内にブレークポイントがないと、自動的にリリースモードで実行されます。それ以外の場合はデバッグモードで実行されます。スクリプトの最後にブレークポイントがあると、スクリプトの実行速度が遅くなることに気付きました。

答えて

1

要するに、答えはノーです。 Matlab自体にはこれらの設定の概念がありません。

バイナリが実行される前に、設定オプションに基づいてC++コードがコンパイルされるという事実になります。一方、Matlabコードはコンパイルのステップを含まず、単にインタプリタによって実行されます。 C++のリリース構成では、通常、コンパイルとリンカーの最適化が有効になっています。

Matlabコードの "コンパイル"は、Matlabツールボックスまたはユーティリティを使用してMatlabコードをCコードに変換する場合にのみ発生します。私はMatlabの内部関数をMatlabのコードでCに変換しようとすると、内部のMatlabの関数を使うことができるという制限があったと思います。そうすることができれば、Matlabはいくつかのビルド設定を使ってCコードを生成します。チェックするのが最善ですが、生成されたMatlabコードは、内部のMatlabの重い機能の一部が既にC++でコーディングされているため、高速になる可能性は低いと思われます。

関連する問題