Fe2+ です。
At Fri, 23 May 2008 23:17:05 +0900,
Yukihiro Matsumoto wrote:
> In message "Re: [TSpython:1112] Re: 参照渡し"
> on Fri, 23 May 2008 21:42:58 +0900 (JST), kikwai@... (機械伯爵) writes:
>
> |> 整数演算時にオーバーヘッドがでかくなりそうな気がするんですが、
> |> なにかワザを駆使してたりするんでしょうか。
> |
> | 又聞きなので確かではないですけど、フツーにオーバーヘッドがでかくなって
> |と思われます。
>
> たしか小さめの整数はあらかじめアロケートしてるはずです。100
> 個だったか。
確かめてみたところ 256 までみたいです。
>>> a = b = 0
>>> while a is b:
... a += 1; b += 1
...
>>> print a
257
一方、負の数はわずかに -5 まででした。
At Fri, 23 May 2008 21:42:58 +0900 (JST),
機械伯爵 wrote:
> まぁ、そこらへん、最適化技術ではどーにかしてるのかもしれないです(いや
> 多分してるんだろうけど)が、建前は、
>
> 1+1 と (1).__add__(1) は等価の筈です。
上の節約術では 1+1 と (1).__add__(1) の等価性は崩れてないけれど 257+257
とはオブジェクト生成回数が3回違うというわけですよね(ちょっと自信無し)。
ついでなので触れておきますが、psyco では整数同士の演算で Python の整数
オブジェクトは経由せずに直接 CPU の整数演算命令を使ってしまうことで高速
化を図っている、とプレゼン資料で見た記憶があります。最適化云々はこれの
ことでしょうか。
# 最近は psyco をインストールすらしていないなあ
--
MATSUI "Fe2+" Tetsushi