Current state of assembly
dark64 opened this issue · 1 comments
dark64 commented
Description
At the moment, the usage of assembly has a few implications:
- The output size of the program might be impacted in some cases. This comes from the fact that the witness generation functions generated from the assembly assignment statement are duplicated
n
number of times in the case of for-loops with a range of0..n
- Non-optimal performance of assembly blocks in the interpreter (no memoization techniques are implemented yet)
Solution
One of the solutions is to extract solvers to a separate section of the output program and reference them in the IR. This makes it possible to optimize away duplicates and write only what is necessary. A prerequisite to this solution is to define a proper file structure.
These issues are being addressed in #1268