昨夜,misima サーバ misimaserver を Perl で書いた。辞書を読んでハッシュテーブルを構築したあと,子プロセスを二つプレフォークしてソケットをリスンする試作品である。ハッシュ構築後からいきなり変換処理が開始できるので,ユーザのターンアラウンド時間において,辞書入力のオーバヘッドが削減できるだけでなく,Berkeley DB と比べてハッシュで検索する効果が期待できるはずであった。
テストクライアントを Java ソケットで作成し,性能を測定した。果たして大幅な改善効果が得られた。misima SOAP サーバとこの misimaserver とを比較すると,250 文字の旧字・旧仮名遣い変換において,前者で 8.3 sec,後者で 2.8 sec と処理時間が 1/3 に短縮された。次の休日には SOAP サーバを書いて試験しようと思う。同様の結果が出ればパッケージも修正する予定である。
久しぶりにソケットを利用したネットワークプログラムを書いたのだけど,今回も O'REILLY の解説本が役にたった。
Tom Christiansen, Nathan Torkington 著
Shibuya Perl Mongers ドキュメントシステム 訳
オライリージャパン (2004/09)
Shibuya Perl Mongers ドキュメントシステム 訳
オライリージャパン (2004/09)