Re: [討論] 有公司使用到WASM技術了嗎?

看板Soft_Job (軟體人)作者 (3d)時間4月前 (2024/07/06 04:00), 編輯推噓7(7017)
留言24則, 8人參與, 4月前最新討論串2/3 (看更多)
※ 引述《erspicu (.)》之銘言: : 只是sideproject需求 想說wasm出來也算幾年了 : 撇開.NET的Blazor框架不談 (是說轉戰Blazor的公司也不多的感覺) : 目前好像看到wasm應用的機會不是很廣 wasm是一個vm,js是另一個vm,兩個互相傳資料其實很麻煩,最簡單就是copy/拷貝資料過去,但效能就差。 大筆資料就是用SharedArrayBuffer來分享,但這個需要自己管理記憶體,並不是每個語言都適合的。所以後來才會有WasmGC的誕生。 : 自己是想用這種方式來處理相簿上傳照片的處理方式 所以稍微study實作了概念 : https://github.com/erspicu/LanczosWasmDemo : Lanczos縮圖法 大概是幾年前我所知縮圖品質比較好的方式 實作也不會太複雜 : 但移植出來的成果運算速度差 .net framework在win11 x64上太多 : 可能有100倍以上差異 打個比方 90ms 變成 9秒 compiler很重要,你寫的程式用<<16, >>16來 pack data,需要夠聰明的compiler來最佳化。我會用array of struct {r,g,b}或直接用byteArray來減少compiler的變數。 : 但不排除有再優化的可能性 像C#的Parallel.For : 移植到WASM上後 其實並沒有平行加速運算的實際效能... : 給大家研究看看 (所以最後還是換成單純迴圈) : C/C++ N年沒相關工作經驗寫了 說不定C移植過去效能會好上非常多 我自己有寫個小Js Parallel.For的lib來應用webworkers。但webworker跟wasm都需要SharedArrayBuffer來分享data,所以並不是很容易用。 今天wasm,跟webworker無法普及起來,就是因為無法無腦用。 https://web.dev/case-studies/google-sheets-wasmgc google花了很大的力氣,才使java/wasmgc有2x Js的效能。 今天,網頁的平台,實在不算好用,需要花足夠的時間去學習,還要有夠扎實的低階語言能力,才能應用的好。但沒辦法,網頁安全性是第一優先。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 76.39.14.143 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1720209620.A.7FD.html

07/06 12:53, 4月前 , 1F
推個 優質好文
07/06 12:53, 1F

07/06 14:28, 4月前 , 2F
SharedArrayBuffer 就類似 arrow 那樣嗎
07/06 14:28, 2F

07/06 19:18, 4月前 , 3F
我覺得.NET在WASM的應用還有一個問題是 .NET也用自己的VM
07/06 19:18, 3F

07/06 19:19, 4月前 , 4F
直接執行.NET有JIT優化 但.NET在WASM內應該沒有類似機制
07/06 19:19, 4F

07/06 19:19, 4月前 , 5F
而且這種套娃的VM內的VM也很耗損效能
07/06 19:19, 5F

07/06 19:21, 4月前 , 6F
WASMGC 好像還是實驗性質,看這幾年會不會變通用功能標準
07/06 19:21, 6F

07/07 01:17, 4月前 , 7F
雖然我聽得一知半解,但先推
07/07 01:17, 7F

07/07 02:12, 4月前 , 8F
dotNet也只能用wasm的byteCode,JIT都需要wasm的vm處理,
07/07 02:12, 8F

07/07 02:13, 4月前 , 9F
主要是wasm的vm優化不足,c#的compiler的frontEnd在wasm也
07/07 02:13, 9F

07/07 02:44, 4月前 , 10F
算是簡易沒優化的。wasm的c#應該不是vm inside vm,
07/07 02:44, 10F

07/07 02:47, 4月前 , 11F
wasm的限制很多,例如只有32bit,只有4GB的memory。vm的
07/07 02:47, 11F

07/07 02:50, 4月前 , 12F
byteCode也是極精簡,不像java/dotNet。很多地方都需要再
07/07 02:50, 12F

07/07 02:52, 4月前 , 13F
打磨,延伸。WasmGC主要是延伸garbage collected object,
07/07 02:52, 13F

07/07 02:53, 4月前 , 14F
這樣Java/dotNet/python/....的gc語言可以跟Js互通,大幅
07/07 02:53, 14F

07/07 02:58, 4月前 , 15F
簡化互call的問題。
07/07 02:58, 15F

07/07 03:01, 4月前 , 16F
wasm,webworker平台,因為安全性,與跨平台的限制,很多
07/07 03:01, 16F

07/07 03:06, 4月前 , 17F
東西需要修改架構,不是直間套用就可。但因為wasm vm的安
07/07 03:06, 17F

07/07 03:09, 4月前 , 18F
全性出發的設計概念,以後應該會普及到serverless的應用
07/07 03:09, 18F

07/07 16:43, 4月前 , 19F
推補充
07/07 16:43, 19F

07/08 17:05, 4月前 , 20F
不妨使用webassembly版本OpenCV應該就可以達到目的
07/08 17:05, 20F

07/08 17:06, 4月前 , 21F

07/08 17:09, 4月前 , 22F
之前有客戶用來開發配戴各種款式眼鏡應用
07/08 17:09, 22F

07/10 23:49, 4月前 , 23F
那有點好奇wasm在cloud native的利用如何wasi會起來嗎
07/10 23:49, 23F

07/12 17:06, 4月前 , 24F
已經是W3C標準了跟java applet falsh silverlight不同
07/12 17:06, 24F
文章代碼(AID): #1cY53KVz (Soft_Job)
文章代碼(AID): #1cY53KVz (Soft_Job)