前田です。

On Mon, 24 Mar 97 17:36:14 JST,
WATANABE Hirofumi <watanabe / ase.ptg.sony.co.jp> wrote:

| 多分辞書を全部読み込んじゃうから速いんでしょう. skkserv は 
| index だけ作っといて seek してたような気がする.

やっぱりそうみたいですね。
# skkserv.cをちゃんと読む気力がなかったので:-p
そうするように変更してみました。
で再びベンチをとった結果なのですが、驚くべきことにほとんど変りませんでした。

<ruby>
moonwalk[~/ruby]$ time ruby skk_bench.rb 
Done
7.91user 1.70system 0:15.03elapsed 63%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (154major+843minor)pagefaults 0swaps

<C>
moonwalk[~/ruby]$ time ruby skk_bench.rb 
Done
6.07user 2.03system 0:15.72elapsed 51%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (152major+758minor)pagefaults 0swaps

バイナリサーチだとファイルアクセスはかなり少なくて済むので、他の部分の最適化
が効いたのかもしれません。

このままだと毎回起動時にインデックスを作るとちょっと遅いのでキャッシュファイル
を作成するようにしようと思うのですが、intを書きこむにはどうすればよいのでしょう?
# これができれば起動もskkserv並の速さになるはず...

| #"moonwalk" じゃ動かないので適当に直して動かしてみました.

うわ、直すの忘れてました。
ごめんなさい。
# ちなみにマイケル・ジャクソンじゃなくてコーネリアスから取りました。

| この場合は "localhost" でもいい気がするけど, Win95 じゃだめ
| だったっけ? %windir%\hosts に localhost も書いとけば ok だっ
| たような.

クライアントからサーバーマシンのホスト名を得るために使われるので
"localhost"だとクライアントのマシンでサーバーが動いてると勘違い
されてしまうような気がします。
別にskk-server-versionで使われるだけなので、動作に関係はないんですが。