On March 24, 2026, SMS crossed a line.
What started as scripting glue is now a compiled native language path.
The Stack
- SML describes UI and scenes declaratively.
- SMS describes behavior and events.
- Runtime is native C++ under the hood.
The original goal was simplicity.
The side effect was performance.
What Changed Today
We implemented a full compiler path:
- SMS -> LLVM IR -> native code
- local trusted scripts run through AOT
- remote/untrusted content can stay on interpreter fallback
- CLI path works end-to-end (.sms -> executable)
And yes, we ran the Easter egg proof:
fun getAnswer() {
return 42
}
fun main() {
log.success("The answer of all questions is: ${getAnswer()}")
}
main()
Output:
Real Numbers (Same machine, same workload)
Protocol:
- 5 warmups
- 20 measured runs
- median + p95
Results:
- SMS Native: median 3466 us, p95 3502 us
- C#: median 4382 us, p95 4436 us
- GDScript: median 258220 us, p95 261709 us
Speedups:
- SMS Native vs C#: 1.26x (median), 1.27x (p95)
- SMS Native vs GDScript: 74.50x (median), 74.73x (p95)
That is not a tweet-sized benchmark claim.
That is measured, repeatable data from the same workload.
Why This Matters
I didn’t design a language around memory ceremony.
I did not specify:
- manual malloc/free in user scripts
- a tracing GC model for script authors
Yet we now have:
- simple script syntax
- native execution path
- reproducible benchmark gains
- fallback safety when needed
For me personally, this is huge:
my own computer language, 42 years after I first saw Amiga BASIC.
Built with love, coffee, and a stubborn focus on simplicity.
———
If you want, I can publish the benchmark harness and protocol in a follow-up post so others can
reproduce or challenge the numbers.

Top comments (0)