Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cadence Compiler - phase 2 (WIP) #3692

Open
3 of 7 tasks
j1010001 opened this issue Nov 22, 2024 · 0 comments
Open
3 of 7 tasks

Cadence Compiler - phase 2 (WIP) #3692

j1010001 opened this issue Nov 22, 2024 · 0 comments

Comments

@j1010001
Copy link
Member

j1010001 commented Nov 22, 2024

Goal (WIP):
Complete Cadence compiler & VM using custom bytecode. This is middle-ground between current stack (Interpreter) and "native" compiler +VM (platform-dependent, most performant). Estimating ~2x performance increase with concurrent on-chain Tx compilation and running the compiled custom bytecode in the VM. Estimated effort 27 dev/months, ~3 quarters with 3 dev capacity.

Outcomes of this phase (WIP):

  • Complete compiler + VM using custom bytecode.
  • Work towards specification of execution semantics, ensure correctness
  • Continue evaluation of generating compiler components from specification.
  • Address tech debt, make it easier to work on new functionality and reuse existing code for prototypes
  • Proactive finding of security issues, improve security posture

Main Tasks (WIP)

Preview Give feedback
  1. Performance Research
    SupunS jsproz
    turbolent
  2. RZhang05
  3. Feedback Improvement
    turbolent
  4. Improvement Technical Debt
    turbolent
  5. Research
    turbolent

Stretch-goals

Preview Give feedback
  1. Improvement Performance

Notes
Based on internal notes: https://www.notion.so/flowfoundation/Compilation-Discussion-1441aee1232480c897aed36c8f763e30

Phase 1 outcomes

  • Better understanding of what target(s) to consider - Ruled out Move VM and WebAssembly.
@j1010001 j1010001 changed the title Cadence Compiler - phase 2 Cadence Compiler - phase 2 (WIP) Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant