Zokrates/ZoKrates

Current state of assembly

dark64 opened this issue · 1 comments

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 of 0..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

Solved in #1268