このコードでどのようにボトルネックを処理できるか知りたい。 N ~ 10^6
、np ~ 1000
とnumber of calls to this part of code = 1000
ため現在MATLAB行列の要素を見つけるための効率的な方法
%% Points is an Nx3 matrix having the coordinates of N points where N ~ 10^6
Z = points(:,3)
listZ = (Z >= a & Z < b); % Bottleneck
np = sum(listZ); % For later usage
slice = points(listZ,:);
、ボトルネックの文は私のコードの残りの部分に比べて時間の大きな塊である、合計で約10秒を取っています。
@EitanT
あなたはそれがだと確信していますボトルネック(プロファイル結果を表示できますか?)とにかく 'num_calls'は何ですか? –
@EitanTはい私はMATLABプロファイラ自体でチェックしましたが、このステートメントは確かにボトルネックです – OrangeRind
@EitanTプロファイリング結果を追加しました – OrangeRind