Rubyアソシエーション開発助成金2018 中間報告 mrubyの省メモリ化の実現 開発者:yamanekko(高橋、山根) メンター:まつもとゆきひろ 1. 提案 mrubyはあまりメモリーを搭載していないデバイスもターゲットにしているため、メモリ消費量は可能な限り少ないことが望まれる。現状のmrubyのメモリー消費量を削減するために、以下の改善を実装するものである。 a. SymbolオブジェクトのROM化 b. メソッドテーブルのROM化 c. 初期オブジェクト・クラスのROM化 2. 達成状況 一度旧来の仕組みのままmrubyをコンパイルし、その情報をベースにCソースコードを生成し、必要なSymbolやメソッドのテーブルを生成するのはユニークなアイデアである。しかし、一方、ソースコード生成はホスト側で実行されるため、デバイス側でしか動作しないgemなどをROM化できないという課題がある。 今後はCにタグを埋め込み、コンパイラを経由しないでソースを生成するなどの工夫が必要になるかもしれない。 また、現時点ではまだバグが残っているので、最終的にmasterに組み込むためにはさらなる改良が必要。 3. 評価 安定度に課題はあるとは言え、目標はある程度到達できたことを評価する。が、最終報告にはどれだけ改善したかの目安による計測値があるともっと良かった。 今後も改善を加えて最終的に取り込めるところまで開発を継続していただきたい。