perf(stark): optimize non-packed constraint evaluation
- 主要语言
- Rust
- 星标
- 772
- 派生
- 352
- 平均合并
- 1 天 7 小时
- 30 天内合并 PR
- 84
描述
Packing during constraint evaluation requires the prover to allocate temporary buffers for storing the transposed field elements. Creating these requires a linear pass over the traces before even starting constraint evaluation. In the scalar path, we can just pass a reference to the row, which would reduce allocation and remove a linear pass over the trace (both being particularly useful for WASM).
---
Ported from https://github.com/0xMiden/p3-miden/issues/51
贡献指南
调研方向
Look at the constraint evaluation code in the stark module, likely in `miden-vm/src/stark/`. Identify where packing and temporary buffer allocation occurs. Understand the scalar path and how to pass a reference to a row instead. Review the linked issue from p3-miden for context. Testing involves ensuring the optimization works correctly and does not break existing proofs.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rust, wasm
- 领域
- compilers, performance
- Issue 类型
- 重构
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100