タグ

mrubyに関するryochackのブックマーク (9)

  • mruby/c | しまねソフト研究開発センター

    mruby/cは、Rubyの特徴を引き継ぎつつ、プログラム実行時に必要なメモリ消費量が従来のmruby(福岡で開発された組込み向けの軽量Ruby)より少ないmrubyの実装です。 国立大学法人九州工業大学(田中和明准教授)と共同で研究開発を行っています。 お知らせ mruby/c 2.0をリリースしました mruby/c2.0を公開しました。(公開についてはこちらのページをご覧ください) https://github.com/mrubyc/mrubyc/releases/tag/release2.0 mruby/cのPIC24へのポーティング手順公開について Microchip Technology社製PIC24シリーズへのポーティング手順を作成しましたので公開しました。 こちらからダウンロード可能です。 mrubyコンパイラ mruby Stable版v2.0.1 Windows版(コン

    mruby/c | しまねソフト研究開発センター
    ryochack
    ryochack 2016/03/31
    お、PSoC5(PSoC5LPじゃなくて…?)でmruby/cが動くのか。試してみよう
  • mrubyでブートローダを書けるようにしました - syuu1228's blog

    カーネル/VM@関西7回目でお話したネタです。スライドはこちら: UEFI時代のブートローダ from Takuya Asada 既にmrubyはUEFIへ移植されています(覚え書き: mruby on EFI Shell)。 また、EFI StubカーネルをUEFIアプリから実行するのは非常に簡単であることが分かっています(実際にソースコードを書いて実験しました)。 以上のことから、「mrubyにEFI Stubカーネルのファイル名を指定したら実行するAPIを足せば、mrubyでブートローダが実装可能になるに違いない」と考えました。 ただ面白いというだけでなく、mruby-socket・mruby-simplehttp-socketなどのmrbgemsを移植していけばブート処理を記述したmrubyスクリプトやカーネルそのものをHTTPから取得することが出来るようになり、簡単なスクリプトで

    mrubyでブートローダを書けるようにしました - syuu1228's blog
  • mruby命令セット [きむしゅノウハウ帳]

    3130292827262524232221201918171615141312111009080706050403020100

  • mrubyのVMざっくり解説 - mirichiの日記

    なんとなく、mrubyのVMの基的なところを書いておこうと思ったので。誰かの参考になれば。 大きな仕様的なところは、 ・32bit固定長のバイトコードを解釈して動作する。 ・レジスタをスタックに確保するタイプのレジスタマシンである。従って、スタックの任意の位置をレジスタ番号で指定して直接読み書き可能。 ・メソッドやブロックなどの単位でバイトコードがirep構造体にまとめられている。 みたいな感じ。 スタックの使い方 スタックトップがレジスタのR0となり、以下、R1、R2・・・と名前が付けられる。スタックの型はmrb_valueの配列であり、つまりmrubyオブジェクトが詰まっている。irepのコードを呼び出すとき、スタックの上から順に以下のような情報を積んでから呼ばれる。 (引数が2個あった場合の例) R0 |self | R1 |argument1| R2 |argument2| R3

    mrubyのVMざっくり解説 - mirichiの日記
  • mrubyを小さくしたり大きくしたりした話 - スペクトラム

    最近mrubyにコミットしているので自分の活動をまとめます。 mrubyを小さくした話 mrubyでは、文字列の扱いはシンプルにchar*を構造体でラップしていました。 struct RString { MRB_OBJECT_HEADER; mrb_int len; union { mrb_int capa; struct mrb_shared_string *shared; } aux; char *ptr; }; そのため1つの文字列毎に、構造体分と文字列分の2回のmalloc/freeが発生していました。 ここでCRubyのRStringを見てみます。 #define RSTRING_EMBED_LEN_MAX ((int)((sizeof(VALUE)*3)/sizeof(char)-1)) struct RString { struct RBasic basic; union {

    mrubyを小さくしたり大きくしたりした話 - スペクトラム
  • mrubyのGCの仕組みを調べた - ブレ男のブログ

    2013年4月18日木曜日 mrubyのGCの仕組みを調べた 時刻: 0:09 動機 LuaのAPIは、Lua内部で扱われる値に関してスタック上であれこれ操作出来るだけで、値自体を直接取得したり作成することはできない。値を取り出したいときはスタック上のある場所にある値の型を調べて、その型の値を取り出すAPIを呼び出す、という具合になっている。この場合、処理系で扱う値はすべて処理系側で管理されているので、ガベージコレクト(GC)できるのもわからんでもない。 しかしmrubyAPIではスクリプト内部で扱う値をmrb_valueとしてC言語側に直接取り出せる。この場合処理系の管理を逃れてしまうことはないのか。またCの関数でmrubyのオブジェクトを作成した瞬間にGCが走った場合に、まだmrubyで管理している変数からの参照がなくて、解放されてしまったりしないのか。 大昔の事しか知らないけど

  • mrubyのGC解説まとめ - GC Advent Calendar - I am Cruby!

    Garbage Collection Advent Calendarの25日目の記事です。 ついに、か、完走したぞ!!うぉぉー。はあ、つかれた。もう来年はいいです。 ということで今日の分のスライドもあわせて、まとめてこの記事にはりつけておきます。 (あーあ、はてなダイアリーにslideboom埋め込めないのか…) mrubyのTri-color incremental mark & sweep GC 解説 その1 mrubyのTri-color incremental mark & sweep GC その2 mrubyのTri-color incremental mark & sweep GC その3 しかし、スライドのアニメーションとGCの解説って相性いいですねえ。 Impressでpptを吐いているのですが、それなりにslideboom上でも動いてびっくりしています。ツイートする

  • 軽量Ruby – mrubyとRubyの違い

    MobiRubyで書いた”さめがめ” 去年の春からずっとコツコツと作っているmrubyでiOSアプリが書けるMobiRubyが久々に動く様になったので、1年近くmrubyを触ってきて気になった所を少し書いてみます。 以下、mrubyと区別しやすくするために、普段みなさんがお使いのRubyをCRubyと書いています。 mrubyって? mrubyはMatzが去年発表した省メモリ版のRuby実装です。CRubyの機能を全て実装している訳ではなく、JIS/ISOの規格をベースに設計・実装されたものです。JIS/ISOの規格書は有料なのですが、最終ドラフトがIPAのサイトから確認できます。 mrubyの経緯や概要は、日経ITProによるMatzへのインタビューが分かりやすく、内部などについては、IIJさんや東芝情報システムさんがまとめている記事が参考になります。 現在の所リリース版はなく、GitH

  • 組み込み開発にも高い生産性を――製造業技術者に“軽量Ruby”「mruby」アピール

    組み込み開発にも高い生産性を――製造業技術者に“軽量Ruby”「mruby」アピール:ETWest2012(1/2 ページ) コードの肥大化/開発期間短縮/コスト削減などで厳しさを増す組み込みソフトウェア開発に、Rubyの高い生産性が期待されている。ETWest2012の基調講演で、まつもとゆきひろ氏が話題の組み込み機器向け“軽量Ruby”「mruby」について語った。 組み込みソフトウェアは機器制御など製品の根幹をなす役割を担っていることから、高い信頼性・安全性が求められる。それだけにソフトウェアは高品質なものが要求され、バグ対策も含め開発は容易ではない。近年ではプロセッサやメモリなどハードウェアの高性能化によってソフトウェアのコード量も増大。さらにその一方で、開発期間は短縮されて開発コストも削られる傾向にあるなど、ますます開発が困難な状況になっている。 そんな組み込みソフトウェア開発に

    組み込み開発にも高い生産性を――製造業技術者に“軽量Ruby”「mruby」アピール
    ryochack
    ryochack 2012/07/07
    "Rubyを使うとほかのツールを使うよりも、小さいチームで開発できる。チーム人数を減らすことができればコミュニケーションコストも少なくできるので、開発期間を短くでき、より成功に近づく。"
  • 1