Re: [討論] 有公司使用到WASM技術了嗎?
※ 引述《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的效能。
今天,網頁的平台,實在不算好用,需要花足夠的時間去學習,還要有夠扎實的低階語言能力,才能應用的好。但沒辦法,網頁安全性是第一優先。
--
推個 優質好文
SharedArrayBuffer 就類似 arrow 那樣嗎
我覺得.NET在WASM的應用還有一個問題是 .NET也用自己的VM
直接執行.NET有JIT優化 但.NET在WASM內應該沒有類似機制
而且這種套娃的VM內的VM也很耗損效能
WASMGC 好像還是實驗性質,看這幾年會不會變通用功能標準
雖然我聽得一知半解,但先推
dotNet也只能用wasm的byteCode,JIT都需要wasm的vm處理,
主要是wasm的vm優化不足,c#的compiler的frontEnd在wasm也
算是簡易沒優化的。wasm的c#應該不是vm inside vm,
wasm的限制很多,例如只有32bit,只有4GB的memory。vm的
byteCode也是極精簡,不像java/dotNet。很多地方都需要再
打磨,延伸。WasmGC主要是延伸garbage collected object,
這樣Java/dotNet/python/....的gc語言可以跟Js互通,大幅
簡化互call的問題。
wasm,webworker平台,因為安全性,與跨平台的限制,很多
東西需要修改架構,不是直間套用就可。但因為wasm vm的安
全性出發的設計概念,以後應該會普及到serverless的應用
推補充
不妨使用webassembly版本OpenCV應該就可以達到目的
之前有客戶用來開發配戴各種款式眼鏡應用
38
[討論] 沒落的技術Javascript和興起的王者wasm一堆課程狂推Javascript卻忽略新時代潮流 W3C已經把Webassembly列為推薦開發指南 Ebay甚至把部分網頁替換成webassembly 序列化速度18
[Coin] 有人也看好astar 嗎?今天Astar 逆勢上漲 不知道四月中後項目陸續上了之後 會漲到多少? Wasm是未來趨勢嗎? 有研究的前輩可以分享嗎?7
Re: [請益] compiler engineer跟一般sw engineer差別: (小弟沒有在台灣做過compiler的工作,但還是就我的經驗醜人獻曝一下) : 各位大大好 : 小弟有幾個疑惑 : 1. 想請問下寫compiler的話,跟一般的sw會差很多嗎?5
Re: [請益] 什麼程度可以開始做side-project分享一些部分 上班一年多了 開始做sideproject快滿1年左右 寫了兩個side project 現在正在寫第三個 都是SDN/NFV或Data center HPC的軟體實作5
[問卦] compiler裡的小精靈都在幹嘛?女口是頁 compiler 是一種電腦程式 它會將某種程式語言寫成的原始碼轉換成另一種程式語言 那樣平常在compiler裡面工作的小精靈 平常都怎麼執行這項任務的?4
Re: [討論] 沒落的技術Javascript和興起的王者wasm2年多就這樣過去了 新一代王者Webassembly現在發展的怎麼樣??? 請問有前端開發者熟悉Webassembly可以分享一下目前應用的現況嗎?? --3
Re: [討論] 為什麼不要用c++寫網站其實也沒有那麼陌生,經歷過php, Rails時代的人都有被cgi折磨過 只不過現代server side都轉向JavaEE那個樣子,類似Asp.net那樣依附個CGI還是 蠻少見的。 現代的web無論是spring還是go那邊都是走向自己從network connection開始管。 (我知道Spring有內置Tomcat)1
Re: [問卦] 寫程式不難,套件很難的八卦難在哪裡,價值就在哪裡 曾經我以為'寫程式很簡單啊,但要有個好的 compiler' 結果 compiler 貴啊 別說什麼難用,還要 tune 還要 debug 人家商品就是可以包到用滑鼠拉就把程式寫出來1
[心得] 2020-3-13 每日新聞#每日新聞 # 2020-3-13 每日新聞 # FB: # C#: 對於使用Entity Framework和micro-ORM的反對論點 這邊針對兩個ORM做討論