Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
mruby/cの安定版1.0リリースに先立ち、Rubyおよびmrubyの開発者で、ITOCの顧問でもあるまつもとゆきひろさんに、mruby/cプロジェクトへの期待、今後の方向性などについて東専門研究員とともにお話いただきました。 (インタビュー日:2016年12月12日) ― 本日はよろしくお願いいたします。 ITOCではmruby/cや SciRubyなどRubyに関連した研究開発に取り組んでいます。Rubyを利用されることの多い県内企業の皆さんからはRubyやITOCの研究開発に多くの期待が寄せられています。 まつもとさんは国内外で多数講演され、多くの方とお話される機会をお持ちだと思いますが、国内外でのRuby、mrubyの拡がりについてどのように感じていらっしゃいますか? まつもと:Rubyは、すでに多くのユーザーに利用されており、今更、新たに拡がりを感じるレベルではないですね。 m
200万以上のWebサイトを支えるインフラで、リソース制御として使われている mod_mruby の採用事例を紹介します。
なんとなく、mrubyのVMの基本的なところを書いておこうと思ったので。誰かの参考になれば。 大きな仕様的なところは、 ・32bit固定長のバイトコードを解釈して動作する。 ・レジスタをスタックに確保するタイプのレジスタマシンである。従って、スタックの任意の位置をレジスタ番号で指定して直接読み書き可能。 ・メソッドやブロックなどの単位でバイトコードがirep構造体にまとめられている。 みたいな感じ。 スタックの使い方 スタックトップがレジスタのR0となり、以下、R1、R2・・・と名前が付けられる。スタックの型はmrb_valueの配列であり、つまりmrubyオブジェクトが詰まっている。irepのコードを呼び出すとき、スタックの上から順に以下のような情報を積んでから呼ばれる。 (引数が2個あった場合の例) R0 |self | R1 |argument1| R2 |argument2| R3
最近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 {
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 年末にSPDYやHTTP2の勉強がてら、mrubyでSPDYやHTTP2通信可能なmrbgemを作りました。 mruby-spdy mruby-http2 これで、mrubyを組み込んだアプリケーションやデバイスからSPDY・HTTP2通信ができるようになって未来が広がりますね。 現状はクライアントのGETのみができます。これで、例えばmod_mrubyやngx_mrubyに組み込んで、あるURLにアクセスした場合はバックエンドでSPDYやHTTP2な通信をすることもできますね。 サンプル SPDYやHTTP2通信をするためにはRubyで以下のように書きます。 SPDY通信 [program lang=’ruby’ escaped=’true
エンタープライズとコンシューマが逆転した、ポストPCの時代 伊藤 僕はいまBtoBの開発のコンサルをすることがあって、そこで何を期待されているかというと、BtoCで成功している方法論や開発プロセスなどをBtoBでもやりたいと。 以前はサーバOSやデータベースなどの面で先進的な技術が使われていたBtoB、エンタープライズ系の開発は、いまや先進性ではクラウドやモバイルデバイスを使ったコンシューマに逆転されてしまっています。 まつもと 最近、スマートフォンとかタブレットとか、PCじゃないところが主戦場になってきて、PCより小さなデバイス、少し前なら「組み込み」と言われていたものの重要性が高まってくるのではないかなと思っています。いまホットなデバイスはスマートフォンだったりしますが、もっと先に進むとコンピュータは環境に組み込まれてどんどん見えなくなっていくのではないかと思います。 でも、例えば多く
リンク先には,次のような記述があります. Looks like on ARM architecture, GCC and other compilers may mis-optimize memcpy and assume certain memory alignment, whichcreates errors on unaligned access. To avoid this, either don't use memcpy, or, cast the pointers to char* to disable this misoptimization. More details here: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka3934.html 意訳) ARM みたいに memcpy で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く