タグ

2017年9月27日のブックマーク (4件)

  • ruby-trunk-changes r60032 - r60045 - ruby trunk changes

    今日は標準添付ライブラリ net/http にリトライ回数を指定する max_retries オプションが追加される変更や、Complex#finite?, #infinite? のオーバーフロー対策などがありました。 k0kubun: r60032 2017-09-26 20:50:07 +0900 標準添付ライブラリ erb で ERB::Compiler::PercentLine#empty? というメソッドは呼ばれるケースがなかったみたいなのでメソッド定義自体を削除しています。 nobu: r60033 2017-09-26 21:21:51 +0900 テストで eval 内でだけ参照されているため未使用の警告が出るローカル変数の警告避けで自己代入してたのを、ダミーの assertion を追加することで無理矢理参照して警告除去するように変更しています。assertion のメッ

    ruby-trunk-changes r60032 - r60045 - ruby trunk changes
    hiroyukim
    hiroyukim 2017/09/27
  • How to JIT - an introduction - Eli Bendersky's website

    When I wrote the introductory article for libjit, I aimed it at programmers who know what JITs are, at least to some extent. I did mention what a JIT is, but only very briefly. The purpose of this article is to provide a better introductory overview of JITing, with code samples that don't rely on any libraries. Defining JIT JIT is simply an acronym for "Just In Time". That, in itself, doesn't help

  • JITコンパイルでの冒険 パート2:x64 JIT | POSTD

    このシリーズの最初のパート (訳注:POSTDの翻訳記事へのリンクです) で簡単にBFソース言語を紹介し、最適化レベルが高まる4つのインタプリタについて述べました。実際にJITをいじる前に背景を知る上で役に立つと思います。 さらに背景を知る上で有効なのが、2013年に私が書いた『 JITの方法 – 入門編 』という記事です。ここでは、実行時に実行可能なx64機械コードの生成と実際にLinux上で実行するために必要な基ツールについて説明しました。初めての方はまずこれらの記事を読んでください。 JITの2つの段階 以前 にも書きましたが、JIT手法を2段階に分けて考えると理解しやすいと思います。 プログラム実行時に機械コードを作成する。 作成した機械コードもプログラム実行時に実行する。 BF JITの第2段階は前記事で説明した方法と全く同じ内容です。詳細は jit_utils の JitPr

    JITコンパイルでの冒険 パート2:x64 JIT | POSTD
  • GDBM で学ぶ Extendible Hashing

    最近仕事で GDBM を使う機会があり、GDBM で使われている extendible hashing に興味を持ったのでまとめてみました。 なお、今回対象にしている GDBM のバージョンは 1.12 です。 アジェンダ GDBM とは ハッシュテーブルの基礎 ハッシュ関数 衝突処理 リハッシュ Extendible Hashing GDBM による Extendible Hashing ハッシュ関数 ファイルヘッダのデータ構造 バケットのデータ構造 バケット要素のデータ構造 衝突処理 ディレクトリの拡張とバケットの分割 データベースファイルは要素数が多いと肥大化する おわりに 参考 GDBM とは http://www.gnu.org.ua/software/gdbm/ 曰く GNU dbm (or GDBM, for short) is a library of database f

    GDBM で学ぶ Extendible Hashing
    hiroyukim
    hiroyukim 2017/09/27