[Senna] nfkc.cのコンパイルに時間がかかる

Senna コンパイル時のメモ。
 
手元の Debian / Mac OS X どちらでコンパイルした場合も、nfkc.c のコンパイル処理に
スゴく時間がかかりました。case 文が山ほど並んだソースなので、オプティマイザが
考え込んでしまっているのかも。

以下、Senna 組み込み型全文検索エンジン - FAQ のページより。
nfkc.cのコンパイルで固まります。
一部のコンパイラでコンパイル時間が恐ろしくかかるようです。15分ほど待ってもコンパイルが終わらない場合には、Ctrl-Cで強制終了してください。

そして、以下のいずれかの方法で再度configureを実行してください。

  • --disable-nfkcオプションを指定してconfiugreを実行
  • 環境変数CFLAGSに-O0を指定してconfigureを実行
Unicode正規化 で検索フレーズの揺らぎを補正してくれる nfkc は利用したいので、
--disable-nfkc は避けたいところ。
しかし、CFLAGS を「-O0」とするとオプティマイザが働かないので、
Senna 全体に対して最適化ナシとなってしまうのでこれも避けたい。

回避策としては、configure後~make前に(または、nfkc.c コンパイルを CTRL+C で
中断してから)↓を実行すると、それほど待たされずに nfkc.c をコンパイルできます。
( cd lib; ../libtool --tag=CC --mode=compile \
gcc -I. -I.. -Wall -O0 -fno-strict-aliasing -g -MT nfkc.lo \
-MD -MP -MF .deps/nfkc.Plo -c -o nfkc.lo nfkc.c )

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 2

驚いた
ナイス

この記事へのコメント

この記事へのトラックバック