neprihlásený
|
Piatok, 18. októbra 2024, dnes má meniny Lukáš |
|
Firefox mnohonásobne zrýchlil spúšťanie WebAssembly kódu
Značky:
Firefox
DSL.sk, 18.10.2024
|
|
Spoločnosť Mozilla dosiahla vo svojom webovom prehliadači Firefox mnohonásobné zrýchlenie počiatočného spúšťania komplikovanejšieho kódu vo WebAssembly, čo výrazne zlepšuje používanie webových aplikácií s takýmto kódom.
Mozilla o zlepšení informuje v tomto popise.
WebAssembly respektíve Wasm je portovateľný binárny kód pre písanie programov podporovaný webovými prehliadačmi, ktorého cieľom je umožniť programovať efektívne výkonné webové aplikácie.
Firefox mal doteraz problém s pomalým spustením veľmi veľkých Wasm modulov, keď pri spustení prehliadač dlho vyťažuje CPU a má veľkú spotrebu pamäte. Spoločnosť to zaregistrovala v septembri pri spúšťaní ONNX Runtimu od Microsoftu.
Firefox pre efektívne spúšťanie prekladá WebAssembly kód na natívny strojový kód. Najskôr použije preklad pomocou kompilátora Wasm Baseline, ktorý je rýchly ale nevytvára najkvalitnejší kód. Firefox môže následne začať WebAssembly kód vykonávať, zároveň ho ale skompiluje ešte na výrazne efektívnejší pomocou kompilátora Ion.
Problém bol s touto kompiláciou, ktorá v prípade ONNX zaťažovala CPU približne 5 minút a spotrebovávala viac ako 4 GB pamäte. Príčinou boli neefektívne dátové štruktúry a algoritmy s kvadratickou časovou zložitosťou, čo sa výrazne prejavovalo pri kompilácii veľkých Wasm modulov.
Po optimalizovaní bolo pri veľkom ONNX module dosiahnuté zrýchlenie kompilovania 75-násobne na 3.9 sekundy. Celkovú spotrebu pamäte popis neuvádza, spomína ale ušetrenie minimálne 3 GB.
Optimalizácia samozrejme výrazne zrýchľuje počiatočné spúšťanie aj iných veľkých Wasm modulov, napríklad kompilácia modulu v online deme Adobe Photoshopu zrýchlila zo 4 minút na 14 sekúnd. Zlepšenie neznamená následný rýchlejší beh kódu vo Wasm, znamená iba výrazne menšie zaťaženie CPU pri počiatočnom spúšťaní a vďaka skoršej dostupnosti efektívnejšieho natívneho kódu dosiahnutie vyššieho výkonu Wasm kódu skôr po spustení.
Mozilla podľa popisu pripravuje aj ďalšiu významnú optimalizáciu. V súčasnosti sa pomocou Ion kompilátora kompiluje naraz celý Wasm modul, pričom čakať napríklad 14 sekúnd na efektívne spustenie Adobe Photoshopu je pomerne dlhá doba. Mozilla tak pripravuje kompilovanie Wasm kódu postupne po funkciách.
Ani už uskutočnená optimalizácia zatiaľ nie je súčasťou stabilnej verzie Firefoxu a Mozilla v popise neinformuje, v ktorej verzii respektíve kedy má byť pridaná.
Najnovšie články:
Diskusia:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Škrabanie sa cez opačnú stranu hlavy
Od: Iban
|
Pridané:
18.10.2024 12:20
Optimalizácia WebAssembly je fajn. Ale písať cele aplikácie d JS a dávať ich do browsra je ako škrabanie sa cez opačnú stranu hlavy. Pritom stačí písať kvalitné C++/Rust aplikácie.
|
|
Re: Škrabanie sa cez opačnú stranu hlavy
Od: Resta
|
Pridané:
18.10.2024 13:12
WebAssembly ti pojde aj na mobile cez hociaky WebView ktory to zaobali, C++/Rust aplikacia nie.
|
|
Re: Škrabanie sa cez opačnú stranu hlavy
Od: awwda
|
Pridané:
18.10.2024 15:53
čo konkrétne si môžem predstaviť pod zložitou webovou aplikáciou napísanou vo Wasm, ktorú je potrebné obsluhovať cez mobil?
|
|
ultraradikálny špecifikácionalizmus
Od: syntaxterrorXXX, . Y
|
Pridané:
18.10.2024 17:21
A čo konkrétne si môžeš predstaviť? Postni link na notársky overený zoznam, aby bolo garantované, že sa dá zakrúžkovať priekazne zrozumiteľná odpoveď.
|
|
waaaaaasembla
Od: memetnik albansky
|
Pridané:
18.10.2024 17:35
toto je presne nieco co mam vypunte a zapnut to neplanujem.
wasm smrdi este viac nez js.
|
Pridať komentár
|
|
|
|