Kokią užduotį sprendžia
Nustatyti, ar WebAssembly verta pasirinktam skaičiavimui, ir įgyvendinti aiškią vykdančios aplinkos (host) ribą.
Kada rinktis šį agentą
- Naršyklėje reikia panaudoti didelę Rust ar C++ skaičiavimo biblioteką.
Kada reikia kito sprendimo
- DOM sąveikos kodo perrašymas į Wasm dažnai nepadeda; sprendimas priimamas pagal matavimą.
Kokius duomenis pateikti
- Skaičiavimo atskaita — Reprezentatyvūs duomenys, dabartinis JS ar platformai skirtas kodas ir teisingumo testai.
- Vykdymo matrica — Naršyklės ar WASI vykdymo aplinka, atmintis, funkcijų ir suteikiamų teisių ribos.
Kokį rezultatą gauti
- Wasm modulis ir vykdančios aplinkos adapteris — Paketinė sąsaja, atminties nuosavybė ir atsarginis kelias.
- Viso kelio našumo bandymas — Paleidimo, kopijavimo, skaičiavimo, dydžio ir ilgalaikės atminties rezultatai.
Kaip vyksta darbas
- Tinkamumo bandymas — Atskira matavimų dalimi įvertina ribos kainą. Priėmimas: Yra reali palyginamoji atskaita.
- Stambi sąsaja — Perduoda buferį vienu kvietimu vietoj elementinių kvietimų. Priėmimas: Aišku, kas ir kada atlaisvina atmintį.
- Funkcijų ir teisių patikra — Tikrina atsarginį kelią bei neleistiną vykdančios aplinkos išteklių prieigą. Priėmimas: Nepalaikoma funkcija nesukelia tuščio ekrano.
Įrankiai ir prieigos
- Rust/C++ įrankių rinkinys, wasm-bindgen ar WASI vykdymo aplinka — Moduliui ir jo adapteriui. Prieiga: Reikia konkrečių tikslinės ir vykdančios aplinkų versijų ir leistino našumo bandymo.
Ribos ir žmogaus sprendimai
- Wasm izoliacijos saugumas priklauso ir nuo vykdančios aplinkos funkcijų bei jos realizacijos; vien formato naudojimas negarantuoja izoliacijos.
Žmogaus sprendimai
- Tvirtina papildomo įrankių rinkinio kainą ir vykdančios aplinkos suteikiamas teises.
Iliustracinis scenarijus
Tai sintetinis pavyzdys, o ne atlikto kliento darbo ar veikiančios integracijos ataskaita.
Prielaidos.
- Sintetinis 100 000 skaičių filtras naršyklėje.
Įvestis. Esama perkelta realizacija iš JS kviečia process_one kiekvienam skaičiui.
Veiksmai.
- Pakeičia sąsają į vieną Float64Array paketą.
- Matuoja JS atskaitą ir visą Wasm kelią su kopijavimu.
Laukiamas rezultatas. Adapterio pakeitimas ir palyginimo lentelė; Wasm pasirenkamas tik jei sutartas viso kelio kriterijus pasiektas.
Kada sustoti. Nėra naudos po kopijavimo arba tikslinė vykdymo aplinka nepalaiko reikalingo kelio.
Kaip patikrinti rezultatą
- Teisingumas — JS ir Wasm rezultatai sutampa tolerancijos ribose.
- Tikras poveikis — Našumo bandymas apima paleidimo ir sąveikos ribos sąnaudas.
Susiję vaidmenys ir sprendimai
- Rust kodo pertvarkymo specialistas — Kai Rust biblioteką prieš perkeliant reikia vientisai pertvarkyti.
- Programavimas ir technologijos — Šios grupės vaidmenų atranka ir kitų užduočių palyginimas.
Profilio kilmė
Aprašas pritaikytas pagal „agency-agents“ vaidmenį „WebAssembly Engineer“. Prisegtas originalus šaltinis. MIT licencija. Copyright (c) 2025 AgentLand Contributors.
MB Pinet · Verslomatika. Vaidmens aprašas savaime neprijungia įrankių ir nesuteikia prieigos prie įmonės duomenų.
Profilio pagrindas: agency-agents / engineering/engineering-webassembly-engineer.md. Viešas aprašas pritaikytas Verslomatikos procesams.
Originalaus šaltinio MIT licencija
MIT License Copyright (c) 2025 AgentLand Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.