報告
上に書いた方法(環境をネストさせる方法)で、とりあえず動作することは確認しました。
WASHは、最初のページ(CGI ())からどのページまで進んだかっていう状態を文字列として保存しておいて、サーバにアクセスするたびに状態を復元している感じなので、環境もshowしたりreadしたりしてます。
普通ならこれがボトルネックになって嫌な感じになるんだけど、今回の場合はそれ以外の処理も遅いのでそんなこともないです。俺はfswikiをメモとして使ってるんだけど(もしこのwikiがいい具合になったら移行したいですな笑)、その中で最も大きいページのソースをそのまま写してみたところ、タイムアウトしてしまいました…。fswikiはperlで書かれているけど、少なくともタイムアウトするなんてことはないです。
どこに時間がかかってるかはよくわからないけど、おそらくファイル入出力の際にreadとwriteをかませてるのが原因なんだと思われる。readは結構遅いからね。けど日本語をエスケープする最も簡単な方法がこれなので…。