0

プロジェクトを.NETアセンブリファイルに展開しました。1つのメイン関数ファイル(.mファイル)が[クラス]セクションにドラッグされました。3つのヘルパーファイルが[共有リソース]セクションにドラッグされました。

[設定]で、すべてのツールボックスパスがチェックされます。私の主な機能では、norcNeuralToolboxからのみ使用しました。アセンブリファイルをビルドすると、12MBになりました。

メインのWPFプロジェクトで参照した後、読み込み時間は耐えられず、計算を実行するたびに計算に約10秒かかります。

Matlabで関数を実行すると、2秒もかかりません。

要約すると、私が現在直面している2つの問題があります。1。)大きな.NETアセンブリファイルと2.)深刻なパフォーマンスの低下です。

Win7とMatlab2012bを使用しています。誰かがそのような問題に直面し、それらを解決したことがありますか?

4

1 に答える 1

1

ツールボックスを選択するかどうかは、特にツールボックスの数が多い場合に、最終的なサイズに大きな違いをもたらす可能性があります。依存関係チェッカーは、コードが呼び出す関数を常に正確に判断できるとは限らないため(実行時に多くのものに依存する可能性があります)、コードが呼び出す可能性のあるもののかなり最大のセットが含まれています。使用されていないことがわかっている不要なツールボックスのチェックを外すと、含まれるものの数を減らすことができ、場合によってはかなり大幅に減らすことができます。

ただし、それでもかなり多くのものを含める必要がある場合があり、それは単に大きい場合があります。

.NETコードがMATLABからデプロイされた.NETアセンブリを呼び出す場合、MCRを起動する必要があります。これには、かなり長い時間がかかる可能性があり(MATLAB自体とほぼ同じ長さ)、必要な処理を実行します。コンポーネントを参照する変数を呼び出しの合間に何らかの形で存続させることができれば、その起動コストは1回だけ取得されます。

于 2013-02-06T13:28:35.383 に答える