2008-01-01から1年間の記事一覧

いろいろキャッシュ

CGI 動作時の動作を少しでも軽くするために、設定ファイルや文字列リソースなんかのテキストデータのバイナリ形式をキャッシュしたり、*.rhtml のコンパイル結果をキャッシュする修正をしていたんだけど、一段落したので本当に 0.8.6 と比べて速くなっている…

バグ修正

Ruby 1.8 で obsolete な機能を代替するパッチをもらったので取り込む。影舞は、1.6 でも動くようにしてあったんだけど、さすがにもう 1.6 を使ってる人はいないだろう。まあ、今日のパッチをもらう前から 1.6 では動かない修正を入れていたし、1.6 用に入っ…

kconv.rbとMIMEのデコード

正確にどのバージョンからかは知らないけど、Ruby の nkf が UTF-8 をサポートしてくれるようになったので、影舞の中から Iconv にかかわるコードを消す作業をしたのが2日前のこと。そのとき影舞のコードの中に kconv.rb という nkf のラッピングをしている…

Starbug1

せっかくなので、Starbug1 を手元の Fedora7 にインストールして触ってみることに。インストールは手順どおりに進めて特に問題なし。とても簡単だった。Windows上だとどうなんだろう。cygwinでいけるかな・・・?少し触った感じでは速いしインタフェースもい…

復活?

Starbug1というバグ管理システムを作っている方に捕捉されている。復活、なのかなあ。結局はコードを書いてリリースできるかってことなんだろうけど。まあ、放置してたバグなどを清算する 0.8.7 は近いうちにリリースする予定。

テスト中

daifukuya.com上の影舞を最新の状態に更新。動作を確認していると、レポートの最終更新日がページを表示した日時になっているのに気が付く。dbistore3.rbを修正。あとは、ruby-dbiの最新だとMySQLが動かない問題を調べる必要があるかもしれない。

DBまわり再実装

ベンチマークの結果がひどいのでPostgresStore3、MySQLStore3を書く。共通部分はほぼBaseDBIStore3にまとめることができた。count_reports レポート数 Pg3 My3 100 0.09 0.01 1000 0.06 0.06 10000 0.53 0.54 50000 2.83 2.50 collect_reports レポート数 Pg…

Ruby/DBI 0.1.1 + MySQLでのエラー

以下のような単純なスクリプトでも、Ruby/MySQL 0.2.6 (MySQL API の pure ruby 版)と Ruby/DBI 0.1.1 の組み合わせではエラーになるっぽい。 $cat mytest.rb #!/usr/bin/ruby require 'dbi' DBI.connect('DBI:Mysql:database=kagemai', 'kagemai', 'pass') …

ベンチマーク

レポート数10万は時間がかかりすぎるので5万で妥協。 実行環境はWinXP(Pen4 3.4GHz)上のcoLinuxのFedora7で割り当ててるメモリは512MBytes。count_reportsの結果(単位は秒) レポート数 Pg Pg2 My My2 100 0.02 0.03 0.01 0.01 1000 0.09 0.12 0.14 0.14 10…

ベンチマーク準備

DBの構造を変更するなら、先にベンチマークをとってみるしかない。影舞のDBのベンチマーク用に各保存方式で多数のレポートを突っ込んだプロジェクトを準備してみる。影舞自身のBTSのデータからメッセージをランダムで選んでレポート、リプライとして入れるス…

影舞

残っていた最後のバグを修正。これで一区切りだけど、どうせならMySQLとPostgreSQLのDBの構造を少し直そうか。今日仕事でも感じたことだけど、ユニットテストはかなり重要。3年間放置してたコードを、壊れるのを怖がらずにいろいろいじれるのはユニットテス…

日記再開

かなり久しぶりに日記を再開させてみる。 いまさら自分でCGIなりを設置するのも馬鹿らしいのではてなでいいかなと。