JS glue code to lazily run wizer in browser after first load
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- javascript, wasm
- 领域
- performance, web-dev
调研方向
该 issue 没有指明任何仓库文件或测试。首先检查针对 JavaScript Wizer wrapper、web worker 和 IndexedDB cache 提出的浏览器流程,然后确定它如何适配现有的 Wizer 和 WebAssembly 接口。当首次加载仍然可用,并且后续加载可以使用延迟生成的缓存模块而无需承担所提议的带宽成本时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
There are concerns with the emscripten Godot project that the snapshot will increase bandwidth usage too much. (emscripten support is a separate issue)
For the subset of programs that:
- Wizer unreasonably increases bandwidth usage.
- Want fast page refreshes.
I believe the following would fix the bandwidth problem without undo start delay.
- Project Devs code their WASM's start function for wizer use.
- Project Devs use a small wizer JS wrapper to request the instance of the wasm module.
- Wrapper just passes through to any cached wasm module the following steps created.
- If there isn't a cache, instantiate the downloaded wasm.
- Run the deterministic start function.
- Send a snapshot of the instance's memory to a web worker.
- Run the remaining non-deterministic start function then return the instance like wizer wrapper didn't exist.
- Lazily in the webworker, download wizer compiler.
- Lazily use the snapshot to create a new stripped wasm module and save it into indexeddb.
If even step 6 is too much, then:
- Skip copying the snapshot in step 6 when loading the webpage for the first time.
- Lazily in the web worker create an entirely separate wasm module and start again from Step 4.
- 主要语言
- Rust
- 星标
- 1.1k
- 派生
- 64
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
bytecodealliance/wizer 的其他 Issue
-
Broken link (2021 WebAssembly Summit)可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 1/5 1 小时以内 新手友好度 72/100
bytecodealliance/wizer#130 ·
-
难度 5/5 一周以上 新手友好度 30/100
bytecodealliance/wizer#153 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
bytecodealliance/wizer#126 ·
-
难度 4/5 3-5 天 新手友好度 25/100
bytecodealliance/wizer#125 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 32/100
bytecodealliance/wizer#105 · 1 条评论 ·
查看 bytecodealliance/wizer 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
bytecodealliance/rustix#1703 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
Pomax/vst-plugins#24 ·
维护者通常 1 天内回复
-
V1 manifest lists written by Java lose added/existing/deleted file counts可能已有人在做 @kacper-li-airspace-intelligence 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
apache/iceberg-rust#3445 ·
维护者通常 4 天内回复
-
Slack integration: links on self-hosted domains never unfurl (parseCapShareUrl only accepts cap.so / cap.link)可能已有人在做 @mangeshraut712 今天认领。 未关闭bug
难度 2/5 1-3 小时 新手友好度 72/100
CapSoftware/Cap#2546 · 1 条评论 ·
维护者通常 1 天内回复