pingooo
《雷》Windows Subsystem for Linux

女兒一個作業,助教說應該幾秒鐘就能跑完,她演算法怎麼改、我建議的各種 C++ 技巧用上去,就是要 40 多秒。

陪她跑 profiler,CPU 根本用不到 2 秒!

一般電腦 SSD 碟讀資料總有個 300 MB/s 的速度,她的 WSL 只有...
.
.
.
3.5 MB/s!

讀檔花了 40 秒。(摔筆
Raven
這差距…
小二@棒棒棒棒不雷
要用WSL2
相聲藝術工程師
是 USB2 等級的呢!
pingooo
她這個作業一直改一直改都沒用,後來都懷疑人生了
david
所以要用 VM 呀 @@
pingooo
david : 本來想說不用開 VM 的 WSL 一定比較快,哪會想到...
rîch1ïû
WSL 只適合拿來簡單用,複雜一點的應用還是乖乖開 VM

之前也踩到網路的地雷
沃夫☆當年剿匪不力的還不罷之
其實這樣也好,其它環境都ok時、就能多理解差異
david
pingooo : 你當 IT 就會知道 WSL 多少問題了
cpyang
cpyang
Workaround, use ~/ instead of /mnt.
[wsl2] filesystem performance is much slower than ws...
avain
需要Linux小工具才會WSL,真正開發程式,發現問題不少後來就放棄了......
cftyn
需要跑數據還是裝雙系統吧
cftyn
以前寫paper有人用vm跑,數據亂飄,於是就被教授念了
priv
WSL I/O 是罩門,這個有用的人都曉得
Ming
$4
要有效率的編譯工作,還是安裝在真實的硬體上比較好。
priv
每天都有人問能不能用 WSL build OOXX

我:可以你也不會想用
Will (IKARi)
哈哈哈哈 有意思
小二@棒棒棒棒不雷
priv : XDDD
benlau (⊚‿‿⊚)
讓我想起之前寫Python,有一段code可以用opencv做,也可以自己寫一段BFS做,因為API的文件不太齊,而且在Big-O上有明顯浪費的地方,所以自己寫BFS。

結果比OpenCV慢上了10倍..
jeffhung
以前在 Windows 跑 console 程式,cmd.exe 換個字型程式就可以快 10 倍喲。
アルターエゴ mode LPH
[wsl2] filesystem performance is much slower than ws...
看起來是因為 WSL 離 Windows 太近了, 很多跨 VM 存取的快取都不能做 (不然完全沒有一致性) 所以才會這麼慢
アルターエゴ mode LPH
如果像上面回噗的用 WSL2 的話要把東西全部放在它自己的 ext4 裡面會比較好, 因為這個 ext4 對外面的 Windows 來說只是一個大檔案, 這樣不會有跨 VM 存取的問題 (不過這其實就跟其他 VM 差不多了)
pingooo
アルターエゴ mode LPH : 在 ext4 裡的檔案在 Windows 這邊看得到嗎?她用 VS Code 編輯檔案,好像是用 Windows 版的。
アルターエゴ mode LPH
可以在檔案總管裡輸入 \\wsl$ 看到目前啟動中的 WSL 實體, 選進去就可以存取到內部檔案; 其他地方也可以由同樣的路徑進去存取 (像下面截圖這個我自己的例子就可以用 \\wsl$\Ubuntu\home\ 這樣去存取裡面的家目錄)
不過這樣就變成反過來這個存取是跨 VM, 會是透過 \\wsl$ 的存取比較慢; 如果 VSCode 只是單純用來編輯那應該還好 (照噗首說編譯執行是在 WSL 裡面)
https://images.plurk.com/17ixnhphSI6k1YIPpq2Iyx.png
參見 Access WSL2/Ubuntu Drive from File Explorer - Micros...
pingooo
pingooo
jeffhung : 那什麼巫術!
pingooo
david : 還好我不當 IT,不然是不是要天天撞牆
david
pingooo : IT QA 工作就是撞牆,我以前都處理 RD 撞不開的那種。
david
jeffhung : 那個狀況 XD
YChao
運算主機的話,生吃都不夠用了,還開VM嗎?
載入新的回覆