タグ

2010年9月24日のブックマーク (3件)

  • The History of Python.jp

    今日は何度も「なぜPythonの整数の割り算はC言語のようにゼロに向けて丸めるのではなく、切り捨てなのか?」と聞かれた。 数値が両方とも正の場合には、何も驚くようなことは発生しない。 >>> 5//2 2 しかし、どちらかの数値が負の場合、結果は切り捨てられる。言い換えると、ゼロから遠い方向(負の無限大方向)に向けて丸められる。 >>> -5//2 -3 >>> 5//-2 -3 この挙動は何人かの人を混乱させたようであるが、このような実装になっているのは数学的な根拠がある。整数の割り算の演算子(//)と、その弟の余りを計算する演算子(%)は、次のような数学的な関係を保っている。すべての変数は整数とする。 a/b = q あまり r これは、次のような関係性を持っている。 b * q + r = a かつ 0 <= r < b (ただし、a, bはともに0以上の整数) もしも、この式の関係

    kiszk
    kiszk 2010/09/24
  • HotspotVMの圧縮oops

    原文 翻訳:中村 成洋 更新 2010/09/19 るとさんからのご指摘で誤訳を修正 更新 2010/09/18 nminoruさんと、Dominion525さんのご指摘で誤訳を修正 oopってなに? なんで圧縮する必要があるの? Hotspotの専門用語である「oop(ordinary object pointer:通常のオブジェクトポインタ)」はオブジェクトへの管理ポインタのことだ。 通常はネイティブなポインタサイズと同じになる。つまり、LP64の環境であれば64ビットになるということだ。 ILP32の環境では、最大ヒープサイズは4GBより幾分か少なくなる。これは多くのアプリケーションにとって不十分だ。 じゃあ、LP64の環境ではというと、ほとんどの場合のヒープは、対応するIPL32の環境と比べて約1.5倍になってしまう(どちらも同じ状況と仮定)。 管理ポインタのサイズが増大してしまう

    kiszk
    kiszk 2010/09/24
  • TraceMonkey概要 - SumiTomohiko's blog

    この記事は、http://hacks.mozilla.org/2009/07/tracemonkey-overview/の無許可日語訳です。 Firefox 3.5 has a new JavaScript engine, TraceMonkey, that runs many JavaScript programs 3-4x faster than Firefox 3, speeding up existing web apps and enabling new ones. This article gives a peek under the hood at the major parts of TraceMonkey and how they speed up JS. This will also explain what kinds of programs get the bes

    TraceMonkey概要 - SumiTomohiko's blog