タグ

2009年1月15日のブックマーク (3件)

  • mixi Engineers’ Blog » Inside Tokyo Cabinet その弐

    予定を立てた途端にやりたくなくなる症候群に堪えて連載を続けるmikioです(こんな私でもエアーマンくらいは倒せます)。前回はDBMの基について説明しましたが、それを忠実に実装しても実際には使いものにはならないことにも触れました。今回は、実用的なDBMに進化すべく、Tokyo Cabinet(およびその前身のQDBM)で考えた工夫についてお話します。 ハッシュ関数についてもう少し 前回の記事に関して、「ハッシュ関数はビットシフト使って実装した方が早いよ」という旨のお便りをいただきました(ありがとうございます)。まさにその通りで、乗算命令(ここではimull)より左シフト命令(ここではsall)の方が速いみたいです(Intelの資料によると、mulが15から18で、salが4とのこと)。しかし、DBMの場合はファイルI/Oにかかる時間が支配的になるというのが重要な点です。したがって、ハッシュ

    mixi Engineers’ Blog » Inside Tokyo Cabinet その弐
  • Inside Tokyo Cabinet その壱 - mixi engineer blog

    約半年間の沈黙を破ってOSSの世界に戻ってきつつあるmikioです。先日、Tokyo Cabinet(以下「TC」と呼びます)というデータベースライブラリをリリースしました。今回から数回に分けて、TCの設計と苦労話について連載してみます。 DBMとは TCは、いわゆるDBMの系譜のデータベースライブラリで、単純なハッシュテーブルをファイル上で永続化するだけの機能を提供します。DBMはAT&Tの古代UNIXの時代から受け継がれる伝統芸能なのですが、私はそういう枯れた技術が大好きなのです。 プログラマの皆さんは、PerlRubyではハッシュ(連想配列)と呼ばれ、JavaC++ではmapと呼ばれるような、何らかのキーに関連づけてなんらかの値を記録するデータ構造って実によく使いますよね。例えばmixiでは、ユーザアカウントに関連する情報(名前とかニックネームとか)は、ユーザIDをキーにしたハッ

    Inside Tokyo Cabinet その壱 - mixi engineer blog
  • M+ と IPAフォントの合成フォント

    ホーム フォント紹介 M+フォントは高品質デザインでぜひ日常的に使いたいのですが、漢字がたりない‥‥そこでIPAゴシックから漢字を補完しました。どなたでも無料でお使いになれます。 2020-04-15Clampフォントを修正しました。詳細は変更履歴をご参照ください。 2020-03-07MigMix/Miguフォントをバージョンアップしました。変更点「M+ TESTFLIGHT 063a に同期」「Clampフォントを追加」など‥。詳細は変更履歴をご参照ください。 2015-07-12MigMix/Miguフォントをバージョンアップしました。変更点「M+ TESTFLIGHT 060に同期」など‥。詳細は変更履歴をご参照ください。 Webサイトをスマートフォン対応しました。画像をSVGにしたのでページを拡大表示すると(PCの場合Webブラウザの横幅を変えると)一部画像を大きく見ることが可能

    M+ と IPAフォントの合成フォント