Native Multi-Core Support in mruby/c: Enhancing Performance
summary
mruby/c gains native multi‑core support by extending the TCB and adding a dedicated migration queue to avoid a global lock; task migration happens via a new to function and completes in roughly 1 ms per migration under test. Implementation runs on Raspberry Pi Pico (ARM cores), uses a reference‑count GC, and protects globals with Mutex — a counter increment test reaches 2,000,000 only with Mutex. Fibonacci benchmarks show near 2× speed for large n, with small‑n overhead from locking.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:49About mruby/c
- 4:40Multi-core support added
- 9:40Memory challenges
- 13:03Concurrent execution model
- 17:24Migration and locking issues
- 22:26Migration mechanism
- 23:35Benchmark platform
- 24:40Fibonacci performance
- 26:27Task count scaling
- 27:38Locking global variables
- 29:45Migration timing
- 30:48Summary and future work








