2012-01-17 5 views
0

私は、サイズ50000x20のマトリックス(50000ブロック、それぞれ20のプロパティ)の入力データを持つコードを書いています。次に、ブロックを決定するための計算を、すべてのブロックにわたってループを実行する必要のある計算に基づいて移動するように選択します。次に、このブロックの特性値(別の変数)をいくつか変更し、同じプロセスを繰り返します。 ループ内の各ブロックの計算が行われます。関数をより速く、より速く呼び出すことはできますか? このコードは、(収束基準に基づいて)収束せずに長く実行されています。どのように私はこれに対処する? 大きなデータセットを扱うこのアプローチは良いですか?私は良くできますか?助けてください。関数を呼び出すC++でより大きいデータセットのデータに基づいて計算を処理するコードを作成するにはどうすればよいですか?

おかげで スレンドラ

+1

正常に実行された場合、私は関数を呼び出すことがパフォーマンスに顕著に影響するとは思わない。しかし、コードを読みやすくするのに役立つかもしれません。 – NPE

+1

具体的なヘルプが必要な場合は、コードを表示することをおすすめします。 – NPE

答えて

0

可読性に役立ちますし、それが広く呼ばれていた場合は、潜在的にもあなたのコードを遅らせることができるとinlineではありません。

ベンチマークを実行し、ボトルネックが何であるかを判断し、dynamic programmingを調べる必要があります。

また、いくつかのコードを投稿するのに役立ちます:)。

0

ブロックの特性値を変更すると他のブロックが影響を受けますか?

そうでなければ、おそらく他のブロックの計算を繰り返す必要はありません。

関連する問題