« mecab-skkserv | メイン | 言語処理学会 »
2005年03月19日
Google Code
Code.google.com is our site for external developers interested in Google-related development. It’s where we’ll publish free source code and lists of our API services.
プリミティブなライブラリを惜しげもなく公開しているのにいたく関心しました。
スケールするシステムを作るのは、こういうプリミティブな
話をおろそかにしてはいけませんし、こういうレベルでの確固たる技術力を
持ってるところが他とは違うのでしょう。 アルゴリズム周りの話はとても
好きなので個人的にわくわくします。
全部確認できていませんが、1つだけピックアップ
sparsehash
STL の map, hash_map の別実装です。基本は以下の sparsetable が
プリミティブで、これをもとに set や map を実装しています。
sparsetablet(100); t[5] = 6; cout << "t[5] = " << t[5]; cout << "Default value = " << t[99];
値がスパースな場合は空間使用率がだいたい 1/3程度になるようです。
(速度はあまり変わりません) 値を保持しているかどうかを bitvectorで表現することで、
メモリを節約しています。当然のことながら、STL の慣習にのっとり、
既存のSTLの枠組みにそのままのっかています。一貫性が
とれていて綺麗。
投稿者 taku : 2005年03月19日 22:55
トラックバック
このエントリーのトラックバックURL:
http://chasen.org/~taku/blog/mt-tb.cgi/119