-
Notifications
You must be signed in to change notification settings - Fork 155
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
Project Proposal: What is the fastest Bril Interpreter? #396
Comments
Sounds very cool! I look forward to seeing how this turns out. Here's one high-order bit that would be great to resolve soon (i.e., within ~1 week?), before diving too much into the infrastructure: exactly which interpreters/compilers/JITs will you measure? Maybe a prioritized list would be helpful, so you can be sure to get the first few and incorporate some latter ones as a "stretch goal." |
Dockerfiles for default and rust interpreter, still prioritizing other possible interpreters and options. |
What will you do?
Project Statement
For the Cornell Capra Bril language designed for learning about compiler design and implementation, a recent listing shows that at least two interpreters and three compilers are currently supported.
We pose the problem, given as input:
Can we predict the fastest end-to-end interpreter and options configuration to execute that Bril program?
Novelty
We will implement a novel predictor for interpreter runtime on Bril programs.
Though multiple interpreter and compile and run tools have been built, we aim to make a survey studying their options and making deployment more accessible.
How will you do it?
Minimum Viable Project Outputs
Possible Extensions
Given sufficient time or other interested parties, we could expand into developing new interpreter features, new benchmarks, or more sophisticated predictors including code structure analysis or large language models.
How will you empirically measure success?
Benefits to Future Course Infrastructure
A standardized deployment environment loaded with additional programming languages can facilitate student exploration of new programming languages and tooling with solid reference baselines and less frustration in setting up a desired language toolchain.
Standardized Docker deployment on Github Actions will facilitate benchmarking and regression testing for course infrastructure as well as reduce “it works on my machine” troubles for students seeking common development environment like dev containers.
Team members:
just @rcplane for now
The text was updated successfully, but these errors were encountered: