monami-ya.mrb が最小スペックを追求しない理由

本稿は,軽量Rubyを軸にしたソリューションのアーキテクトとして,私はこう考えました,ということを述べています.

設計思想に関する話です. 一つのシステムに対して,設計思想は幾通りもあるのが普通です. どの思想にも,一定の理があります.

読者が何かの拍子に,軽量Ruby系実装を選ぶことになった際に,参考になればと思います.

サブセットは滅びの道?

なぜ monami-ya.mrb は RTOSとバインドするのか

さきほどは,重くはならないよ,という,疑問への回答でした.

加えて,RTOS とバインドする積極的な理由を述べておきます.

理由はある程度の理詰めはあるものの,結局のところ「オレはこう思うんじゃい」という色彩が強く,別にそうしなくても軽量Rubyはベアメタルで動きます. 時間と予算が潤沢にあるなら,ね.

とはいえ現実は.

別段のファンドが獲得できているわけでもなく,取れる時間も限られ,加えて

過去の事例だとこの手のOSSは長期的には失われる結果になりそうです

という呪いまでかかった状態なので,素早くカタチにしないと,呪いが成就してしまうのでした.

大目標: ゆるふわ Ruby だけで,ガチ組み込み開発をしたい

すべては大目標の実現のためです.

\ゆるふわ Ruby だけで,ガチ組み込み開発をしたい/ that’s all.

大目標(言い換え): ゆるふわでない Ruby で,ガチ組み込み開発をする気なんて無い

RTOS は monami-ya.mrb を遅くするか?

とある,案件契約ではない非公式なやりとりから. 個人が特定されるような内容ではないので,これくらいなら許され…ますよね.

mruby 自身もC言語に比べて処理に時間がかかるところに,RTOSが入るとさらに遅くなったりしないのか少し心配です.

個人が特定されるどころか,同じような直感を持たれる方,案外多いのではないかなと思います. 機器組み込み業界で働いておられるエンジニアの中にもいらっしゃるのではないかな,とも.

端的に言うと,RTOS が入ると遅くなるというのは,概ね誤解です. いやもちろん RTOS がゼロオーバヘッドだと言っているわけではありません.

いまや会社の製品の機能として提供されている部分なので,本来なら会社の公式ページに書くべきところですが,そうすると定量計測してホワイトペーパーにしないと格好がつきません. そこまで喫緊の話でもない(非公式なやりとりですし)ので,こちらに書いておきます.

RTOS とは何か?