Update the documentation
This commit is contained in:
26
README.md
26
README.md
@@ -1,8 +1,8 @@
|
||||
# smarm
|
||||
|
||||
> Silly Marks Abstract Rust Machine. A prototype green-thread actor runtime for Rust.
|
||||
> SMARM — Smarm, Marks Actor Runtime Machinery. A proof-of-concept green-thread actor runtime for Rust.
|
||||
|
||||
Implements the core ideas in [`LOOM.md`](./LOOM.md): green-thread actors on a
|
||||
Implements the core ideas in [`Achitecture.md`](.docs/Architecture.md): green-thread actors on a
|
||||
shared heap, scheduled cooperatively, communicating only by `Send` messages.
|
||||
Erlang's isolation model without Erlang's copying GC, Rust's zero-copy
|
||||
ownership transfers without async's function colouring.
|
||||
@@ -58,7 +58,6 @@ tests/
|
||||
per-module integration tests
|
||||
benches/
|
||||
primes.rs fan-out/fan-in compute, vs tokio current_thread
|
||||
LOOM.md design intent
|
||||
```
|
||||
|
||||
## Building and running
|
||||
@@ -76,7 +75,26 @@ cargo bench # primes benchmark vs tokio
|
||||
|
||||
## What's not here
|
||||
|
||||
See the **Defer** section of `LOOM.md`. Notable absences: supervisor
|
||||
See the **Defer** section of `Architecture.md`.
|
||||
restart-intensity caps, `join!` for handle groups, stack growth via remap,
|
||||
hierarchical timer wheel, fd-wait timeouts, `Signal::Timeout`. Each is
|
||||
mechanism we know how to add; none belongs in this iteration.
|
||||
|
||||
## Docs
|
||||
|
||||
| Document | What it covers |
|
||||
|---|---|
|
||||
| [`Architecture.md`](./docs/Architecture.md) | Design intent, runtime model, and deferred work |
|
||||
| [`smarm - Deep Dive.html`](./docs/smarm%20-%20Deep%20Dive.html) | Generated walkthrough of the system; good starting point |
|
||||
| [`BENCHMARKS_AND_TUNING.md`](./docs/BENCHMARKS_AND_TUNING.md) | Where smarm wins and loses vs tokio, preemption knob recommendations |
|
||||
| [`benchmarks.md`](./docs/benchmarks.md) | Raw benchmark results, methodology, and tuning experiment log |
|
||||
|
||||
## Contributing
|
||||
|
||||
This is a personal proof-of-concept. There's no PR workflow — if you fork it
|
||||
and do something interesting, just send me an email. I'd genuinely like to
|
||||
hear about it.
|
||||
|
||||
---
|
||||
|
||||
<sub>The name is a recursive acronym. The M is for Marks, as in the BEAM — Bogdan/Björn's Erlang Abstract Machine, the virtual machine that runs Erlang and Elixir. smarm is not the BEAM. It just admires it from a safe distance.</sub>
|
||||
|
||||
Reference in New Issue
Block a user