• ブログ
  • Photoshare
  • キーワード
  • ブックマーク
  • ふぉとす
  • 写真
  • ログイン

kaeruspoon

« 2009年09月 | 2009年11月 »
  • kaerukeywordをC言語で実装しなおしました。 2009-10-04 08:40:31 Append 767

    http://github.com/tsukasaoishi/kaerukeyword
    キーワード検索ライブラリKaerukeywordのバージョン1.1.2をアップしました。
    kaerukeywordは、登録されたキーワードを与えられた文中から素早く検索できるライブラリです。はてなダイアリーのキーワード自動リンクのような用途に使うことができます。このブログのキーワードリンクはkaerukeywordで実現されています。
    もともとRubyのハッシュを使ってtrieを構築していたのを、C言語で書き直しました。もちろんRubyのクラスのまま、インターフェースも変わっていないので、今までのコードを変更する必要はありません。

    インストールはとりあえず以下のようにしてください。githubがgemの構築サービスをとめているためです..orz。もしかしたらgemcutterで公開するかもしれません。

    wget http://www.kaeruspoon.net/kaerukeyword-1.1.2.gem
    sudo gem install kaerukeyword-1.1.2.gem
    


    使い方

    require 'rubygems'
    require 'kaerukeyword'
    keywords = KaeruKeyword.new(["Ruby", "Rails"]) 
    keywords << "Tsukasa" 
    keywords.search("I Love Ruby") #=> ["Ruby"] 
    


    262380語のキーワードを登録し、8789文字の文字列から検索するテストを実施してみました。検索は1000回繰り返しています。

    以前のバージョン(1.0.2)

    [キーワード登録]
                 user     system      total        real
    total:   8.970000   3.320000  12.290000 ( 12.289984)
    avg:     0.000034   0.000013   0.000047 (  0.000047)
    
    [検索]
                 user     system      total        real
    total:  19.920000   0.610000  20.530000 ( 20.529973)
    avg:      0.019920   0.000610   0.020530 (  0.020530)
    


    今回のバージョン(1.1.2)

    [キーワード登録]
                 user     system      total        real
    total:   1.080000   0.320000   1.400000 (  1.399998)
    avg:     0.000004   0.000001   0.000005 (  0.000005)
    
    [検索]
                 user     system      total        real
    total:   3.500000   0.020000   3.520000 (  3.519995)
    avg:     0.003500   0.000020   0.003520 (  0.003520)
    


    262380語のキーワード登録が12.29秒から1.40秒に、8789文字の文字列からのキーワード検索は0.02秒から0.0035秒になっていて、大幅な高速化が実現しています。
    また、メモリの消費量も約208Mバイトから56Mバイトになっていて、省メモリ化となっています。
    個人レベルで使用するツールから、仕事でも使えるレベルにはなってきたのではないでしょうか。

    今後は、検索結果にキーワードの出現位置情報を含めたり、キーワードごとのID値の設定を可能にしたり、AhoCorasick法の採用による検索速度のさらなる高速化や、double arrayを使ってさらに省メモリ化を実現したりといったことを実装する予定でいます。AhoCorasick法やdouble arrayを使うと、trie構築後のキーワードの登録がけっこう大変なので、このあたりは選択できるようにするつもりです。

    Commentコメント(0) Pageリンク元(35)
  • 伝説の「86」復活!東京モーターショー FT-86 コンセプト (トヨタ) 2009-10-06 22:14:59 Append 768

    FT-86。動画で見ると微妙かな。写真だとカッコいいけど。
    http://trendy.nikkeibp.co.jp/article/special/20091005/1029458/

    Commentコメント(0) Pageリンク元(43)
  • 【楽天】テクノロジーカンファレンス 2009-10-07 23:37:09 Append 769

    【楽天】テクノロジーカンファレンス2009|開催概要
    出席することにしました。

    Commentコメント(2) Pageリンク元(14)
  • 寝台特急富士 A寝台個室HD車窓 大分~東京1/10(入線付) 2009-10-15 00:20:09 Append 770

    お酒を飲みながら延々と見続けてしまうので危険です。

    Commentコメント(0) Pageリンク元(8)
  • Canon デジタル一眼レフカメラ Kiss X3: 家電・カメラ 2009-10-15 22:59:49 Append 771

    • Canon デジタル一眼レフカメラ Kiss X3 レンズキット KISSX3-LKIT
    • 出版社/メーカー: キヤノン
    • メディア: エレクトロニクス
    • 発売日: 2009-04-24

    photohito見てたら欲しくなってきました。ハイパフォーマンスなコンデジと迷うのですが、やっぱり一眼がいいですね。昔はFinepixでいろいろ写真を楽しんでいましたけど、もっといろんなことをやってみたいのです。

    Commentコメント(0) Pageリンク元(5)
  • iPhone 3GS を買いました 2009-10-18 17:32:19 Append 772

    ユルさんにiPhone 3GSを買ってもらいました。さっそくいろいろと楽しんでいます。写真共有サイトはPhotoshareを選択。ふぉとすに写真をアップすることはもうないかもです。気軽にPhotoshareに写真をアップしたいので、twitterとの連携はしないことにしました。

    Commentコメント(0) Pageリンク元(18)
  • 楽天テクノロジーカンファレンス2009に行ってきました。 2009-10-24 20:25:30 Append 773

    楽天テクノロジーカンファレンス2009に行ってきました。
    当初はvaioを持って行く予定だったのですが、肩こりが酷かったので断念。ポメラとか欲しいですね。メモがないので、レポートらしいものは書けません。もっともLTが始まったあたりで帰ってしまったので、どちらにせよレポートは書けないのですが。ユルさんがつまんなそうにしていたので、途中で帰っちゃったのでした。
    列指向DBのお話とROMAのお話が一番の目的だったのですが、時間がなかったせいかどちらもあまり深いところまではいかなかったのでちょっと残念でした。ROMAは、セッション中にソースをgithubに公開して盛り上がってました。家に帰ってから、ぼくもgit cloneしてさっそくソースを読んでいます。
    一番愉快だったのが、チームラボさんのハムスター。おもしろかった。ああいうの、大好きなのです。

    Commentコメント(1) Pageリンク元(45)
« 2009年09月 | 2009年11月 »

プロフィール

おおいしつかさ

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2009年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2010年
1月 2月 3月

キーワード一覧

ActionScript Ajax AmazonResources Erlang git github iPhone javascript Javascript Kaerukeyword kaeruspoon Mac merb milook MiyazakiResistance NSR Objective-C perl Perl Rails Ruby Ruby on Rails RubyKaigi speedpetal subversion Thin Thinkpad tokyobike TRPG twitter ubuntu Ubuntu VAIO VAIO typeZ Waves WordScoop Xen ぐりぐり しろさん カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 宮崎 日本酒 模型 猫 町田 真中洋嗣 自転車
Baner