SICP質問システム on GAE

 Pythonで作ったSICP「4.4 論理型プログラミング」の質問システムをGoogle App Engineに移植してみました。

 http://torilon-querysystem.appspot.com/

 動くには動きましたが遅いですね。自分のPCの開発環境とappspot.com上とあまり応答速度は変わりません。

 Googleインフラであったとしても(アルゴリズム的に)遅いプログラムはダメだということがよく分かりました。

 元のプログラムをなるべく変更しないようとして、結果的にDatastoreにアクセスしまくるプログラムになってます。

 苦労したのはassertionの保存とstreamの両立で、なるべくきちんと遅延評価させようとすると簡単ではありませんでした。

 遅延評価(stream)を忘れて、1から素直に作るともっと早くなりそうです。

 memcachedを使ったことがないので、これを機会にMemcacheの勉強でもしてみようかな。

 これを速くする改造もおもしろそうです。