推奨するインデックス作成方法を選択しようとして、パフォーマンスを測定しようとしました。しかし、測定は私を大いに混乱させました。これをさまざまな順序で複数回実行しましたが、測定値は一貫しています。パフォーマンスを測定した方法は次のとおりです。
for N = [10000 15000 100000 150000]
x = round(rand(N,1)*5)-2;
idx1 = x~=0;
idx2 = abs(x)>0;
tic
for t = 1:5000
idx1 = x~=0;
end
toc
tic
for t = 1:5000
idx2 = abs(x)>0;
end
toc
end
そして、これが結果です:
Elapsed time is 0.203504 seconds.
Elapsed time is 0.230439 seconds.
Elapsed time is 0.319840 seconds.
Elapsed time is 0.352562 seconds.
Elapsed time is 2.118108 seconds. % This is the strange part
Elapsed time is 0.434818 seconds.
Elapsed time is 0.508882 seconds.
Elapsed time is 0.550144 seconds.
私がチェックしたところ、100000付近の値でもこれが発生し、50000でも奇妙な測定値が発生します。
だから私の質問は: 他の誰かが特定の範囲でこれを経験していますか? これは何が原因ですか? (バグですか?)