タグ

2017年10月19日のブックマーク (4件)

  • mrubyのJITの概要 - Qiita

    まあ、VMをぶん回すようなプログラムだと、大体5~10倍くらいの速度が出るようです。文字列処理やIOなどCで書かれたライブラリを多用すると速度の差は縮まるでしょう。 ##内部構造 mrubyのJITはTracing JITです。Tracing JITそのものはググってください。mrubyのVMのバイトコード命令をフェッチして命令毎の処理に分岐するところで制御を乗っ取って実行回数をカウントします。実行回数がある閾値になったら機械語を生成し、次にこの命令を実行したら生成した機械語を呼び出します。 概要をつかむのは名古屋Ruby会議03で発表させてもらったスライドがいいと思います https://www.slideshare.net/miura1729/mrubyjit 内部構造の詳細はこちらを見てください あなとみー おぶ mrubyのJIT (その1) このあと、連続していてその13まであり

    mrubyのJITの概要 - Qiita
  • migration の中で model を触ったら必ず reset_column_information する - onk.ninja

    migration の中で model を触ったら必ず reset_column_information する 治安の悪い Rails アプリケーションでは、migrate 中に model の不整合で怒られることがあります。 class AddAgeToUsers < ActiveRecord::Migration[5.1] def up p User.first # 1 add_column :users, :age, :integer # 2 User.create(name: "Taro", age: 16) # 3 end end 1 で User model を触ってしまっているので add_column 前の DB の状態がキャッシュされて 2 で追加した add_column は別にキャッシュをリセットしないので 3 で ActiveModel::UnknownAttrib

    migration の中で model を触ったら必ず reset_column_information する - onk.ninja
    Watson
    Watson 2017/10/19
  • VMに手を加えずRubyを高速化するJITコンパイラ「YARV-MJIT」の話 - k0kubun's blog

    先日のRubyKaigi 2017のLTではLLVMベースのCRuby向けJITコンパイラLLRBの話をしました。 5分はちょっとJITの話をするには短かかったですね。 LLRBをふまえた、Cのコード生成への軌道修正 さて、上記の資料にある通り、CRubyのJITにおいてはメインの高速化対象が既に存在するCのコードになるため、 開発の早い段階でパフォーマンスにインパクトを持てるとすればLLVM Passの順番を変えるくらいで、 LLVM IRを直接生成しても最適化上のメリットがほとんどないのでその部分はMJIT と同じくCのコードを生成するように変更したい、という話をした*1。 で、LLRBはC拡張として作るべくちょっと不思議な努力をいろいろやっており、 それらの設計はやってみた結果(コアに直接変更を加えるのに比べ)デメリットの方が大きいと思ったので、 LLRBの失敗を全て生かしつつ、今回

    VMに手を加えずRubyを高速化するJITコンパイラ「YARV-MJIT」の話 - k0kubun's blog
  • IT系エンジニアのためのプレゼンテーション入門

    1. インフラエンジニアのためのプレゼン技術研究会:第0回 Masahito Zembutsu @zembutsu Shinjyuku, Tokyo, Feb 21 2015 #infrapre All We Need Is Give The Presentation ITエンジニアのための プレゼンテーション入門 利用画像素材(Special Thanks) タイトル ブラックジャックによろしく 著作者名 佐藤秀峰 サイト名 漫画 on web 3. ITエンジニアのためのプレゼンテーション入門 3 / 59 @zembutsu とは←今回の首謀者 • 前佛 雅人と申します。名です。 • 略歴 ➡ 2000年ホスティング・サービス事業者に就職 ➡ データセンタ視点での運用や監視、OSSの検証・活用 • 最近考えている事 ➡ 「すべての障害を生まれる前に消し去りたい」 ➡ 「もう何

    IT系エンジニアのためのプレゼンテーション入門