2006-07-01から1ヶ月間の記事一覧

Firefoxの拡張を使ってみた

これまで、Firefoxの拡張はよくわからないので、Tab Mix PlusとAll-in-one-gesturesぐらいしか使ってなかった。要するに、セッション管理とジェスチャが使えれば、それで不満はなかった。昨日使ったRevealが面白かったので、他のFirefoxの拡張にもいくつか手…

sysprofが動かない

基本に立ちかえってprofilingだ、ということで、profilerを使ってprofileをしてみる事にしたのだが、sysprofが動かない。Kernel Moduleを読み込ませる時点でInvalid module formatとか言われてしまう。Kernelのバージョンの問題かな…。oprofileの結果見ても…

ディスクキャッシュのクリア

mmapを使ったアプリケーションのベンチマークをしていると、一旦実行するとディスクキャッシュに乗ってしまい、二回目からはパフォーマンスが変わってしまう。これではベンチマーク測定がやりにくい。 というわけで、ディスクキャッシュをクリアする方法を調…

引数のないメソッド呼び出しがローカル変数と区別がつかない件について

もちろん、ローカル変数への代入がなければそれはメソッド呼び出しに違いないので比較的容易に区別はつくのだが、久々にRubyをいじっているとどうにも慣れない。

Reveal

RevealというFirefox向けのExtensionがある。F2を押すと、現在のウィンドウで開いているタブのサムネイルを表示してくれる拡張だ。タブをたくさん開いていると初回のサムネイル表示がちょっと重いが、割と便利げな感じ。xglといいRevealといい、どうもサムネ…

検索の高速化(4)

(3)の結果はあまりよくない予感がするので、別の方法を考えてみた。つまり、SuffixArrayをいくつか(数百か数千ぐらい)に分割して、分割点のみを集めたミニSuffixArrayとでもいうべきものを作ってみる。ミニSuffixArrayのサイズは自由に決められるので、数K…

検索の高速化(3)

文字N-gramのN=3で高速化用のデータを作ってみた。38MB。これではちょっと使えない。N=2で試すと6MB。これもでかすぎる。数百KB程度におさえたい。文字でやるからいけないのかな。先頭2Byteなら、高速化用データは2^16=65536だから、65KB程度で収まる。

検索の高速化

300MB近いSuffixArrayを構築して検索をしている。二回目以降の検索は問題ないのだが、一回目の検索はかなりレスポンスが悪い。これはディスク読み込みに時間がかかっているものと思われる。なんとかならないか、ちょっと考えてみた。 検索時にはたぶん二分探…

検索の高速化(2)

SuffixArrayである限り、元テキストへの大量のランダムアクセスは不可避であるような気がしてきた。実際にやってみないとわからんけど、期待しすぎるとしょんぼりする事になるかもしれない。

サンプルを見ろ

今書いてるプログラムはRuby-Gnome2を使っているのだが、gtk/sample/misc以下にあるサンプルコードがすごく参考になる事に、数時間前に気づいた。これさえ見れば、昨日悩んでたあんなコードやこんなコードが簡単に…!! というわけで、新しいライブラリを使…

Rubyでプログラミング

超久々(3年ぶりぐらいかも?)にRubyでプログラムを書いているのだけれど、久々過ぎてちょっと戸惑っている。こんなに簡単にクラス定義できちゃっていいんですか?

今日のカビ

ケチャップにもカビが生えるって、知ってました?

dovecotが起動しない場合の対処法

IMAPサーバをcourierからdovecotに乗り換えたのだが、まったく起動しない。なんのエラーも吐かない。 手元の環境にインストールするととりあえず起動はするので、しばらく困ってみた挙げ句、直接起動してみると、imap(root): Fatal: epoll_create(): Functio…