[Senna-dev 167] Re: [PATCH]: Senna on AMD64

Back to archive index

Kazuhisa Takei kazuh****@gmail*****
2005年 11月 17日 (木) 12:48:18 JST


武井です。

05/11/16 に morit****@razil*****<morit****@razil*****> さんは書きました:
> 結局set.cのハッシュ値のサイズについてはそのままで行くことにしました。
> (64bit環境でも空間効率に影響しそうな部分では32bit整数は積極的に使うつもりです。)
>
> set.cのアラインメントに依存した部分を修正した(つもりの)版をrev58でcommitしました。
> 武井さんの、
>
>  sizeof(((struct _sen_set_element*)0)->u))
>
> という辺りのアイディアを使わせて頂いています。
> 構造体の定義そのものを変えて、64bit環境でも空間効率を落さないように
> したつもりです。(うまくいけば)
>

なるほど。分離されたんですね。
きちんとやるならunionの部分をポインタにして格納かなぁ
と思っていたんですけど、こちらのほうが空間効率もよさそうですね。

改善されそうでよかったです。

sen_set->index経由で entry のpointerをたどっていく際に、

 for (i = h; ep = index + (i & m), (e = *ep); i += 1048573) {

等で 1048573 というのが出てくるんですけどこれはなんでしょうか?
質問ばかりですいません。

---
Kazuhisa TAKEI



Senna-dev メーリングリストの案内
Back to archive index