argumentcomputer / argumentcomputer/Wasm.lean

Benchmarking: We should benchmark NOW so that we know the broad strokes performance

Open
#66 0 comments 0 reactions 0 assignees View on GitHub
highpriority
Dominant language
Lean
Stars
48
Forks
6
PR merge metrics
No merged PRs in 30d

Description

# Why?

@arthurpaulino reports ominous performance shortcomings of megaparsec stack.

@cognivore has seen stack overflows while transpiling this December.

All in all, it hints that at some stages of running rust on lurk, we'll hit some bottlenecks.

We can actually benchmark NOW to see if stuff will work somewhat.

Here's what we need to do to achieve this.

# What?

- [ ] Mock everything that's not yet implemented in the list.
- [ ] Run e2e. Check that:
- [ ] Megaparsec parses WAST into Expr
- [ ] Yatima transpiles Megaparsec-enabled code into Lurk [optional]
- [ ] *and/or* Yatima transpiles Expr into Lurk (without transpiling Megaparsec) [required]
- [ ] Lurk runs transpiled code without choking.

# Who?

I can do this, but I need mocks to be pushed to some branch.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the existing end-to-end path for Megaparsec, WAST, Expr, Yatima, and Lurk; no files or tests are named in the issue. Review which unimplemented components need mocks, then run the e2e flow. Done means the required Expr-to-Lurk transpilation path runs without choking, with the optional Megaparsec-enabled path checked if possible.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
compilers, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.