ドライブの速度比較
ファイルの書き込みに時間がかかってる
実際にディスクの書き込み速度がどの程度違うか比較した
比較したのはPC内蔵のSSD、HDD、USB3.1接続のHDD、USBメモリ、それとRAMディスク
計測はCrystal Disk Markを使った
USBメモリのみドライブとして認識されていなかったのでフォルダを指定して計測した
SSDにデータを入れて処理するのがベストだろうけど
システムも入っているしサイズが足りないのと壊れたときの被害が大きい
HDDを使うなら内蔵と外付けで読み書きの速度はそこまで変わらない
壊れて後で困るぐらいなら外付けドライブを使うのが良さそう
テンポラリディスクはRAMディスクを使うのがいいが、
メモリのサイズが小さいので使い所を選ぶ
とりあえずデータの保存に外付けHDDを使って
テンポラリファイルの処理にRAMディスクを使用するのが
今の環境では速度が出せて万が一のとき被害が少ないと思う
そもそもWSLでI/Oが遅いのはしょうがないっぽい
WSLのI/Oが遅いことに対するMS技術者からの回答 | OPCDiary
Microsoft、WSLのI/Oパフォーマンス改善に取り組み | マイナビニュース
WSL vs VM for 開発作業 - Qiita
14 May 2019追記
bashのddコマンドで書き込みのベンチマークを測定
hdparmコマンドとddコマンドでハードディスクの簡易ベンチマークをする | 怪しい物を開発するブログ
d = 内蔵ssd
e = 内蔵hdd
h = 外付けhdd、USB3.1接続
usb = USBメモリ、USB3.1接続
r = RAM disk
$ dd if=/dev/zero of=/mnt/d/tmp/testimg.tmp bs=1M count=1024 1024+0 レコード入力 1024+0 レコード出力 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.791183 s, 1.4 GB/s $ dd if=/dev/zero of=/mnt/e/tmp/testimg.tmp bs=1M count=1024 1024+0 レコード入力 1024+0 レコード出力 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.54097 s, 423 MB/s $ dd if=/dev/zero of=/mnt/h/tmp/testimg.tmp bs=1M count=1024 1024+0 レコード入力 1024+0 レコード出力 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 15.5029 s, 69.3 MB/s $ dd if=/dev/zero of=/mnt/usb/tmp/testimg.tmp bs=1M count=1024 1024+0 レコード入力 1024+0 レコード出力 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 50.506 s, 21.3 MB/s $ dd if=/dev/zero of=/mnt/r/tmp/testimg.tmp bs=1M count=1024 1024+0 レコード入力 1024+0 レコード出力 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.796872 s, 1.3 GB/s
書き込み速度(GB/s)は
SSD = RAM disk > HDD内蔵 > HDD外付け > USBメモリ
CrystalDiskMarkと数値の比較はできないんだろうけど
デバイス間の書き込み速度比が結構違う
bash上ではSSDと内蔵HDDとでそんなに差が出てない
なおUSBデバイスは手動でマウントする
Windows 10の「WSL」でネットワークドライブなどをマウントする:Tech TIPS - @IT
$ sudo mkdir /mnt/usb $ sudo mount -t drvfs F: /mnt/usb
アンマウントも手動
$ sudo umount /mnt/usb