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

作者: oopFoo (3d)   2024-07-06 04:00:15
※ 引述《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的效能。
今天,網頁的平台,實在不算好用,需要花足夠的時間去學習,還要有夠扎實的低階語言能力,才能應用的好。但沒辦法,網頁安全性是第一優先。
作者: neo5277 (I am an agent of chaos)   2024-07-06 12:53:00
推個 優質好文
作者: MoonCode (MoonCode)   2024-07-06 14:28:00
SharedArrayBuffer 就類似 arrow 那樣嗎
作者: erspicu (.)   2024-07-06 19:18:00
我覺得.NET在WASM的應用還有一個問題是 .NET也用自己的VM直接執行.NET有JIT優化 但.NET在WASM內應該沒有類似機制而且這種套娃的VM內的VM也很耗損效能WASMGC 好像還是實驗性質,看這幾年會不會變通用功能標準
作者: xxFrency (阿哲)   2024-07-07 01:17:00
雖然我聽得一知半解,但先推
作者: oopFoo (3d)   2024-07-07 02:12:00
dotNet也只能用wasm的byteCode,JIT都需要wasm的vm處理,主要是wasm的vm優化不足,c#的compiler的frontEnd在wasm也
作者: neo5277 (I am an agent of chaos)   2024-07-07 16:43:00
推補充
作者: ryanwang (irene)   2024-07-08 17:05:00
不妨使用webassembly版本OpenCV應該就可以達到目的https://cnodejs.org/topic/5ed705f782b588109b647401之前有客戶用來開發配戴各種款式眼鏡應用
作者: shortoneal (不告訴你咧)   2024-07-10 23:49:00
那有點好奇wasm在cloud native的利用如何wasi會起來嗎
作者: jhjhs33504 ( )   2024-07-12 17:06:00
已經是W3C標準了跟java applet falsh silverlight不同

Links booklink

Contact Us: admin [ a t ] ucptt.com