報告

上に書いた方法(環境をネストさせる方法)で、とりあえず動作することは確認しました。

WASHは、最初のページ(CGI ())からどのページまで進んだかっていう状態を文字列として保存しておいて、サーバにアクセスするたびに状態を復元している感じなので、環境もshowしたりreadしたりしてます。

普通ならこれがボトルネックになって嫌な感じになるんだけど、今回の場合はそれ以外の処理も遅いのでそんなこともないです。俺はfswikiをメモとして使ってるんだけど(もしこのwikiがいい具合になったら移行したいですな笑)、その中で最も大きいページのソースをそのまま写してみたところ、タイムアウトしてしまいました…。fswikiはperlで書かれているけど、少なくともタイムアウトするなんてことはないです。

どこに時間がかかってるかはよくわからないけど、おそらくファイル入出力の際にreadとwriteをかませてるのが原因なんだと思われる。readは結構遅いからね。けど日本語をエスケープする最も簡単な方法がこれなので…。