morit****@razil*****
morit****@razil*****
2005年 11月 17日 (木) 06:34:53 JST
>>> Kazuhisa Takei さんは書きました: > 武井です。 > > 05/11/15 に morit****@razil*****<morit****@razil*****> さんは書きました: > > 64bit環境ではそもそもハッシュ値を64bitで格納した方がいいのかなぁ、 > > 等とちょっと悩み中です。。すみません。いましばらくお待ち下さい。 > > 現状だとあらゆる uint32_t ですかね。 > かなり手術が必要そうな気がしますけど。 結局set.cのハッシュ値のサイズについてはそのままで行くことにしました。 (64bit環境でも空間効率に影響しそうな部分では32bit整数は積極的に使うつもりです。) set.cのアラインメントに依存した部分を修正した(つもりの)版をrev58でcommitしました。 武井さんの、 sizeof(((struct _sen_set_element*)0)->u)) という辺りのアイディアを使わせて頂いています。 構造体の定義そのものを変えて、64bit環境でも空間効率を落さないように したつもりです。(うまくいけば) > MySQL binding では、文書IDがMyISAM ファイル内のオフセットだという > お話だったような記憶がありますが,MySQLのMyISAMファイルは > その環境のファイルサイズ限界までとったりするものなんでしょうか? > それとも32bit限界なんですかね。 こんな定義になってます。(my_global.h) #if SIZEOF_OFF_T > 4 typedef ulonglong my_off_t; #else typedef unsigned long my_off_t; #endif ここについては、どちらになっていてもsennaは問題なく動きます。 -- morita