[#28290] [Oniguruma] Version 4.0.0 — "K.Kosako" <sndgk393@...>
まつもとさん、
7 messages
2006/02/02
[#28296] packing small Struct — Tanaka Akira <akr@...17n.org>
しばらく前に思い付いたのですが、メモリ消費を押さえるために、
5 messages
2006/02/04
[#28337] constant look up order in CVS HEAD — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
15 messages
2006/02/18
[#28338] Re: constant look up order in CVS HEAD
— Tanaka Akira <akr@...17n.org>
2006/02/19
In article <1140229116.805371.31930.nullmailer@x31.priv.netlab.jp>,
[#28341] Re: constant look up order in CVS HEAD
— GOTOU Yuuzou <gotoyuzo@...>
2006/02/19
In message <87lkw8xfay.fsf@m17n.org>,
[#28342] Re: constant look up order in CVS HEAD
— Yukihiro Matsumoto <matz@...>
2006/02/19
まつもと ゆきひろです
[#28347] Re: constant look up order in CVS HEAD
— Tanaka Akira <akr@...17n.org>
2006/02/20
In article <1140392909.403432.7587.nullmailer@x31.priv.netlab.jp>,
[#28348] Re: constant look up order in CVS HEAD
— Yukihiro Matsumoto <matz@...>
2006/02/20
まつもと ゆきひろです
[#28352] Re: constant look up order in CVS HEAD
— WATANABE Hirofumi <eban@...>
2006/02/20
わたなべです。
[#28360] ruby_1_8 broken? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
7 messages
2006/02/21
[#28371] bcc32 make error on 1.9.0 — "Nebata" <tnebata@...>
ねばたです。
8 messages
2006/02/22
[#28372] Re: bcc32 make error on 1.9.0
— KIMURA Koichi <kimura.koichi@...>
2006/02/22
木村です。
[#28386] test/drb/drbtest.rb cause file missing error — arton <artonx@...>
artonです。
6 messages
2006/02/23
[#28389] Re: test/drb/drbtest.rb cause file missing error
— Yukihiro Matsumoto <matz@...>
2006/02/24
まつもと ゆきひろです
[#28396] ruby-1.8 cvs head and 64bit time_t — arton <artonx@...>
artonです。
7 messages
2006/02/26
[#28404] irb cannot parse /\^/ — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
8 messages
2006/02/27
[#28405] Re: irb cannot parse /\^/
— keiju@... (石塚圭樹)
2006/02/27
けいじゅ@いしつかです.
[ruby-dev:28299] Re: packing small Struct
From:
Tanaka Akira <akr@...17n.org>
Date:
2006-02-05 15:21:46 UTC
List:
ruby-dev #28299
In article <1139149487.648968.25908.nullmailer@x31.priv.netlab.jp>,
Yukihiro Matsumoto <matz@ruby-lang.org> writes:
> 要素が3個以下のStructがどれだけあるのかという点が気にならな
> いでもないですが、面白いのでコミットしてください。
入れました。
cons セルが欲しいという人はたくさん 2要素の Struct を作るの
ではないかと思っています。きっと。
> 要素が3個以下のArrayってのはそれなりにありますからうれしい
> ことも多いかもしれません。が、RARRAY(ary)->ptrというイディオ
> ムが全滅するのは痛いかも。Stringは...、どうなんでしょう。理
> 屈では32bit CPUでは24文字パックできるわけですが。
RARRAY(ary)->ptr あたりが使えなくなるのはたしかに痛いんです
が、Struct での経験からすると、コンパイルエラーで検出できま
すし、RARRAY_PTR(ary) を用意しておけば機械的な置換で済むので、
面倒ではあるが難しくはない、と思っています。
あと、32bit では 3*4=12bytes ですね。
(最後に入れる NUL を除いて 11bytes)
起動時点では...
% ruby -e 'h = Hash.new(0); ObjectSpace.each_object(String) {|o| h[o.length] += 1 }; h.keys.sort.each {|k| puts "#{k} #{"*" * h[k]}" }'
0 *
1 *******
2 *
3 *
4 **
5 **
6 *
7 *
9 *
10 *****
11 ***
12 *********************
13 *****************************************
14 ************************
15 ************
16 ********
17 ****
18 ****
19 *********
20 **
22 ***
25 *
27 *
33 *
37 *
38 *
48 *
124 **
うぅむ、惜しい。ちょうど納まらないところから増えてますね。
まぁ、64bit 時代はかなり近いので 24bytes という値もかなり現
実的で、その場合は上の山はほとんど納まってしまいます。
もちろんアプリケーション次第ではあるんですが。
--
[田中 哲][たなか あきら][Tanaka Akira]