2002-04-23(火) 9292歩 [長年日記]
■ tDiary: 性能向上策(2)
昨日のアイデアをいちおうcommitしてみた。他にもファイル読み込みのあたりでセコい最適化を加えたせいか、キャッシュがヒットしなかった場合に比べてほぼ確実に2倍以上の性能が出るように。そこそこプラグインが入っている環境でこれなんだから、システムへの負荷はずいぶん軽減されたはずである。
ただ、問題も。プラグインでエラーになった時にはエラーメッセージとともにプラグイン適用前のソースが表示されるんだけど、従来はそれが.rhtmlだったのでそれっぽく表示されていた。しかし今度からは.rbなので、Rubyスクリプトがそのまま出てしまうのである。日本語もエスケープ処理されてるし、HTMLヘッダからしてそうなので、これはもう、まったく読めたもんではない。
しかたがないので、簡素なエラーメッセージ専用の画面を作ってそれを出すようにした。header_procなど、更新画面や設定画面でも呼び出されるプラグインにバグがあるとそれらの画面も出せなくなるので注意が必要。ってまぁ、そういう場合はプラグインファイルを削除すればいいだけの話なので、実害は少ないだろう。
2002-04-22(月) 13939歩 [長年日記]
■ tDiary: 性能向上策
酒井さんからrhtmlから変換されたrubyのソースをキャッシュした方が効率的ではないかというアイデアが出されて、それを実現するパッチが登場。
少し解説すると、tDiaryでは性能改善のためにプラグイン適用直前までの状態をキャッシュしている。日記本文やツッコミが更新されない限りキャッシュがヒットするので、キャッシュがない場合に比べて約50%の性能改善ができている。このキャッシュはプラグイン呼び出しが埋め込まれたHTML(*.rhtml)ファイルになっているのだが、それをさらにコンパイルして、Rubyのソース(*.rb)にまで落としてしまえばキャッシュがヒットした場合の効率がもっと上がるのではないか、ということである。
プロファイルを取ってみるとERbCompiler::compileが一番時間を食っているので、これをキャッシュ側に持っていけばたしかに性能が上がりそう。ERbは変換後のソースをメソッド化する機能があるんだけど、CGIであるtDiaryではそこまでできない。この手法はぎりぎりまでERbの仕事をすましておくという意味で効果が出そうだ。
というわけで手元のPentium-II 350MHzマシンでベンチマーク。使ったのはこの日記の4月分のデータである。
処理時間(秒) | |
ミスヒット | 4.33 |
rhtml版 | 2.77 |
rb版 | 2.11 |
従来比でも25%の改善。ミスヒット時との比較では、胸を張って「2倍以上」と言えるレベルに(従来は「約2倍」としか言えなかった)。これはいいかも。採用しようか。
■ Sylpheed 0.7.5
今度は最新だよな……?(笑)
0.7.5にはIMAPがらみの新機能が多いから使いたいな。といっても、Asumi化してからは自前パッケージを使っていないので、おいそれと入れ替えるわけにはいかなくなってしまったのだが。オモコンしろってか……。
■ 隊長!?
KIOSKで見つけた「アヒル隊長」。いや、ホントにそう書いてあるんだってば。
しかし隊長はプラスチックだったはず。ということは、コイツは「隊長のぬいぐるみ」ということか。なんだかメタな話だ。
帰ってからよく見ると、ひどい写真だ。もっと寄って撮ればよかった。
プラスチック……と書いたのはですね、NTV系の番組「鉄腕DASH」に出てくるアヒルの人形が「アヒル隊長」という名前なのです。で、このぬいぐるみにも「アヒル隊長」と書いてあったので、とうぜんあの隊長を意図してるんだろうなぁ、と。なんか解説するとくだらない……。
■ tDiary: 本日のハンティング
おぉ、Ruby業界の大物だ(業界ってなに)。あおきにっき つっこみつきです。
◆ ただただし [これって、バイナリなのか…… いっけんカウンタに見えないところがいいかも]
◆ (ふ) [プラスチックのならベビー用品売ってるところで見かけたことあります。>隊長]
◆ (ふ) [いやもちろんそれを意識してます>隊長 私が見たのも大きく「アヒル隊長」と書いてあったので。]
◆ ただただし [なぬーっ。つまりそれはホンモノですか!? #ホンモノって……?]
◆ (ふ) [売り物は底に車が付いてました。ホンモノの底がどうなってるかが決め手かも(わら]
◆ ちょ [3年程前にあひる型水鉄砲ってもんを作ったんですが… そのあひるが今思えばそのまんま「あひる隊長」と同じモノだったんだ..]
2002-04-21(日) 0歩(付け忘れ) [長年日記]
■ ソフトウェア職人気質
昨日はtDiary 1歳の誕生日だったはずだが何のイベントもなく。つーか風邪ひいて寝てた。今日もまだ不調。なんか、あちこちで流行ってるみたいだなぁ。ノドにくるからツライよ。泳ぎにも行けなかったし、バイクのウェア買いに行きたいと思ってたのにさー。
おかげで読書は進んだわけだが。というわけでこないだ読み始めた『ソフトウェア職人気質』を読了。いやぁ、一言一句、隅々までうなずける話ばかりであったよ。ソフトウェアベンダーに就職して、なんだか違うと感じている若い人は読んでみると、違和感の原因がわかるのではないか。
……とは言っても、もう若くない身としては、そうそう素直に読めたものでもない。もう少し、定量的な記述が欲しかったところ。参考文献にそういうことが書いてあるのかも知れないけど。工程が遅れていることを伝えると、真っ先に「あと何人投入すれば遅れが取り戻せるか」と聞いてくる経営陣に、この本が伝えていることをなんと説明すればいいのやら。
開発者が偉くなって管理職をやってるのが大半の会社では、「開発者には管理職より高い報酬を与えろ」と言っても、開発者が楽をしたがっているとしか思われないだろう。OJTとは名ばかりで、トレーナーと新人が別のプロジェクトにいるなんてことが珍しくもない既存の会社じゃ、こんなパラダイムシフトは起こせないだろーなー。鬱々。
■ mozilla 1.0RC1
書き忘れていたけど、金曜日に職場のWindows 2000にmozilla 1.0RC1を入れてみた。以前確認したPNGのバグがどうなってるか確認するため。が、直っていない。どうするよ。ちなみにtDiaryのテーマではSkyとCandyなどが該当する。描画されなかったり、スクロールすると乱れたりする。
困ったなー、と#tDiaryでボヤいていたら、bugzillaにそれらしいのがあるのを見つけてくれた(PNG containing alpha channel (transparency) as background image has redraw problems)。あ、これか。てことはバグとして認識はされている……のか?
■ ツッコミューン
わはは、うまいことを言う(笑)。
そういえば2chのどこぞのスレッドでも「あの独特なコミュニティが……」と書かれていたことがあるので都合2人は同じ感触を持っているようだが(同一人物かもしれないけど)、そんなものないよねぇ。どこ見て言ってるんだろうか。
もちろん、tDiaryを媒介にしたコミュニティは存在する。でもごく初期のユーザのつながりを除けば、それは「Kondaraつながり」だったり「Rubyつながり」だったり「アイドルつながり」だったり「アレゲビルつながり(?)」だったりするわけで、コミュニティの中心が日記システムなんかになりうるわけがない。
■ そういえばnDiaryユーザへの21の質問が全部見たいと書いたらリストにしてくれました。ありがとう。だいたいみなさん、静的システムへのこだわりと記述のしやすさで愛用してるって感じですな。
◆ umeya [「大人だから」に笑いました。アルバムを買っても、気に入ってよく聞くのは1〜2曲程度だったりします(シングルと変わらん..]