年末最後のバトルが繰り広げられている散財自慢だが、白状しなければならないことがある。このシステム、年を越せないのである。越せないわけじゃない(たぶん新年のデータはちゃんと入力できると思う)。前年以前のデータが見られないのである。がんばって大晦日に散財しても、勝利に浸っていられるのはほんのわずかの間だけ。それじゃぁあんまりだ、と思うので、年越し対応をしようと思っていたんだが、けっこう忙しいのとモチベーションがいまいち高まらないので(だって年間王者は某石油王の息子で決まりだしさ)、しばらくこのままで行っちゃうことにした。年が明けたら、新しい気持ちで散財に励んでください(笑)。hnf対応tDiary?よくやるなぁ(笑)。続・tDiaryは重いか重いったら重いよ。ぅ、1.3系ったら重くてしょうがないよ(←自分で作っておいて何を言うか)。どれくらい重いか見てみようと思って、Ruby付属のプロファイラを使ってみた。最初は漠然と「I/Oがけっこう食ってるんじゃないのー」と思っていたのだが、ぜんぜん違った。通算50%近くの時間を食っていたのは、ERbCompiler#compileだった。あぁ〜、そりゃそうだ〜。ページの外枠、日記本文、プラグイン適用と、都合3回もERbを通しているのだ。重くて当たり前である。こりゃなんとかせにゃあかんかなー、と思ったのだが、なかなかいい解決策は思いつかない。いいのはキャッシュだろう。リンク元表示をプラグイン化してしまえば、前の二段階まではほとんど変化がないので、最新表示だけでもあらかじめrhtml化しておけば、最後のプラグイン適用だけで済む。キャッシュの更新は、本文の更新時かツッコミがあった時だけ。これはやる価値があるかも。キャッシュの応用として、ERbのメソッド化機能を使う手もある。メソッド化したらどっかにとっておかなきゃいけないので、mod_rubyを前提にしたり、dRubyを動かしたりしないといけない。これはちょっと仰々しすぎるな。それから、ERbをやめてerubyを使うという方法もある。比べてみたことがないので、erubyの方がどれくらい速いのかはわからない。そもそもAPIが違うから、そんな簡単な問題ではない。楽なのは、ムーアの法則様にお願いすることだな。これなら何もしなくてもいいんだけど。