Namazu on Cygwin

Namazu 2.0.16 を Cygwin + Apache 2.0.55 で動かそうとしました。そしたら、Apache から呼び出す namazu.cgi がとてつもなく遅いことに気づきました。試しに簡単な CGI を書いて調べてみたら、それは非常に高速に応答するのです。CGI に渡される環境変数に関連するのではないかと思い、CGI に渡される環境変数を全て抜き出しました。

#include <stdio.h>

int main()
{
        printf("Content-type:  text/html\n\n");
        printf("Hello, world!\n");
        fflush(stdout);
        system("sh -c printenv");
}

この環境変数を全て定義した後に namazu.cgi を起動するスクリプト(下記)を書いて試したところ、やはり動作が非常に遅いことが分かりました。

#!/usr/bin/bash

export TERM='cygwin'
export WINDIR='C:\WINDOWS'
export HTTP_KEEP_ALIVE='300'
export HTTP_USER_AGENT='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1'
# And other environment variables here...

./namazu.cgi

環境変数を一つずつ潰していったところ、HOME 環境変数が適切(?)に設定されていないと遅くなるようです。デフォルトでは / になっているのですが、これを適当に設定したら動作は非常に高速になりました。
ちなみに、Apache 2.0.x で環境変数CGI に渡すには SetEnv ディレクティブが使えます。