From: Yukihiro Matsumoto Date: 2006-02-06T00:32:06+09:00 Subject: [ruby-dev:28300] Re: packing small Struct まつもと ゆきひろです In message "Re: [ruby-dev:28299] Re: packing small Struct" on Mon, 6 Feb 2006 00:21:46 +0900, Tanaka Akira writes: |cons セルが欲しいという人はたくさん 2要素の Struct を作るの |ではないかと思っています。きっと。 だといいなあ。 |> 要素が3個以下のArrayってのはそれなりにありますからうれしい |> ことも多いかもしれません。が、RARRAY(ary)->ptrというイディオ |> ムが全滅するのは痛いかも。Stringは...、どうなんでしょう。理 |> 屈では32bit CPUでは24文字パックできるわけですが。 | |RARRAY(ary)->ptr あたりが使えなくなるのはたしかに痛いんです |が、Struct での経験からすると、コンパイルエラーで検出できま |すし、RARRAY_PTR(ary) を用意しておけば機械的な置換で済むので、 |面倒ではあるが難しくはない、と思っています。 そうですねえ。1.8にも同名のマクロを入れておけば、ソースを共 用したい人にも問題なしですね。入れちゃおうか。 |あと、32bit では 3*4=12bytes ですね。 |(最後に入れる NUL を除いて 11bytes) あ、また算数間違えちゃった。 |うぅむ、惜しい。ちょうど納まらないところから増えてますね。 アプリケーションをロードした後だとずいぶん変わってくるかもし れませんね。rexml/rexmlなどロードした場合、11文字以内の割合 がかなり増えるようです。