cucapra / cucapra/protocols

Efficient Trace Lowering

Open
#276 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
15
Forks
0
Avg merge
6h 20m
Merged PRs (30d)
15

Description

Right now, we lower each AST in a trace separately with an arg substitution. This makes us repeat lowering an edge contracting the same protocol AST since each time its a different arg substitution. If we lowering each protocol once, then edge contract, and then make copies for each argument substitution it'll be more efficient.

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate the trace-lowering entry point and the code that contracts protocol AST edges. Compare the current per-AST lowering with argument substitution against the proposed flow of lowering each protocol once, contracting edges, and copying for substitutions. Done means equivalent traces are produced without repeating protocol lowering and the relevant tests or benchmarks pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.