kassane/tinyd-rt — explained in plain English
Analysis updated 2026-07-18 · repo last pushed 2024-07-30
Run D code on microcontrollers or IoT devices with only kilobytes of memory.
Write firmware or small applications without a garbage collector's memory overhead.
Compile D code to WebAssembly for browsers or sandboxed environments.
Pair with a manual allocator like numem instead of automatic garbage collection.
| kassane/tinyd-rt | kassane/dustmite | kassane/stdcpp | |
|---|---|---|---|
| Language | D | D | D |
| Last pushed | 2024-07-30 | 2024-04-15 | 2024-09-18 |
| Maintenance | Stale | Dormant | Stale |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
README is sparse on setup details and recommends pairing with the separate numem allocator.
TinyRT D is a lightweight runtime for the D programming language, designed for systems with limited resources where traditional memory management approaches don't work well. In practical terms, it lets developers run D code on small devices or constrained environments where every bit of performance and memory matters. Most programming languages come with a "runtime", background machinery that handles things like memory cleanup automatically. D's default runtime includes a garbage collector, which periodically scans memory to free up space the program no longer needs. That's convenient for typical desktop or web applications, but on small embedded systems, think microcontrollers or IoT devices, a garbage collector can eat up precious memory and cause unpredictable pauses. TinyRT strips that away, giving developers a leaner foundation that's better suited to these tight environments. The people who'd reach for this are typically building software for embedded hardware: things like sensors, custom controllers, or other devices where memory is measured in kilobytes rather than gigabytes. If you're writing firmware or a small application that needs to run on a chip with limited resources, a full runtime is overkill. The README also notes that WebAssembly is a secondary target, so developers compiling D code to run in browsers or similar sandboxed environments could benefit too. The README is sparse on implementation details, but it does mention the project is based on existing WebAssembly runtime work and recommends pairing it with a package called "numem", likely a custom memory allocator, to get the best results. The core tradeoff is straightforward: you give up the convenience of automatic garbage collection in exchange for a smaller footprint and more predictable behavior on resource-constrained hardware.
A stripped-down runtime for the D language that drops the garbage collector, letting D code run on tiny embedded devices and WebAssembly.
Mainly D. The stack also includes D, WebAssembly.
Stale — no commits in 1-2 years (last push 2024-07-30).
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.