タグ

2014年4月29日のブックマーク (2件)

  • 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の日記
    hiroyukim
    hiroyukim 2014/04/29
  • MySQLの実装にBoost.Geometryが使われはじめた - Faith and Brave - C++で遊ぼう

    Why Boost.Geometry in MySQL? MySQL 5.7のリリースから、そのビルドがBoostに依存するようになります。MySQLの幾何演算を、Boost.Geometryライブラリのコードに置き換えることになったからです。 近年、ロケーションベースのサービスが途方もない成長を続けており、MySQLがそのストレージとして重要視されるようになってきました。 MySQL 5.6時点でも、これまでGIS関係の機能は持っていましたが、その幾何アルゴリズムは多くのコーナーケース(Corner Case:めったに発生しない厄介なケース)を扱えませんでした。それを一つひとつ修正するか、既存のアルゴリズムを置き換えるか、どちらを選ぶかという選択肢で、MySQLはBoost.Geometryで既存アルゴリズムを置き換えることを選択したようです。 MySQLコミュニティはBoost.Geo

    MySQLの実装にBoost.Geometryが使われはじめた - Faith and Brave - C++で遊ぼう
    hiroyukim
    hiroyukim 2014/04/29