と を多用する特定の画像処理アルゴリズムを作成imwrite
しimread
ました。次の例は、ハイパースレッディング対応の 6 コア i7 マシン上の 8 つの Matlab セッションで同時に実行されます。(ファイル名はセッションごとに異なります。)
tic;
for i=1:1000
%a processing operation will be put here%
imwrite(imgarray,temp,'Quality',100);
imgarray=imread(temp);
end
toc;
temp=[ramdrive_loc temp];
次の 2 つの目的で、サンプル コードの変更を検討しています。
- 時間消費の削減
- ハードドライブの摩耗を下げる
作成される画像ファイルのサイズは約 1 MB です。ハード ドライブは、2 x 7.2k Caviar Black を使用して RAID0 として形成されます。マシンは Windows マシンで、パーティションは NTFS としてフォーマットされています。
上記の出力toc
は(画像を処理せずに)次のとおりです。
Ramdiskなし: 104.330466 秒。
Ramdiskの場合: 106.100880 秒。
速度が上がらない原因は何かありますか? RAM ディスクのファイル システムを FAT32 に変更すると効果がありますか?
注: RAM ディスクとハードディスクの比較に関して、他にも質問がありました。ただし、この質問は主にimread
、imwrite
、および Matlab I/O に関するものです。
追加: RAM ディスクは、SoftPerfect のフリー ソフトウェアを介してセットアップされます。3 GB のスペースがあり、タスクには十分すぎるほどです (最大 10 MB が生成され、Matlab セッション中に何度も書き込まれます)。