bytecodealliance / bytecodealliance/wasmtime

Meta-issue: GSoC project ideas

Open
#2,667 1 comment 3 reactions 0 assignees View on GitHub
cranelift wasmtime
Dominant language
Rust
Stars
18.6k
Forks
1.8k
Avg merge
1d 18h
Merged PRs (30d)
126

Description

We are planning to apply to Google Summer of Code; let's brainstorm projects that might be interesting! I'll start with a few and can update as ideas come in:

- Language bindings for Wasmtime engine: currently, we have bindings to allow Wasmtime to be used within a program written in Go, Python, or a .NET language. It would be useful to extend this list further. This becomes even more interesting when we have Interface Types working: can we marshal native language types (lists and strings) across host/Wasm call boundaries for various host languages?

- Cranelift backend: improve instruction selection and speed up the compiler. We've been working on a new compiler backend for Cranelift, which is part of the technology that underlies our other projects (Wasmtime and Lucet). We believe that there are always ways to improve the generated code if one looks long enough! This project would involve finding and understanding sources of slowdown and learning enough about the compiler to change the instruction sequences that it uses. The rewards can be significant when one fixes an issue for a particular benchmark and many times the fixes are pretty simple (generate a different, better-suited instruction). This project would be an opportunity to learn about the innards of the compiler and has potential to be very interesting!

Please feel free to contribute other ideas!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.