Hatena::Grouptechmemo

msyktの日記

2011-08-11TokyoCabinetのTDBのコードを読む

[TCTDB]tctdbnew

21:33

/* Create a table database object. */
TCTDB *tctdbnew(void){
  TCTDB *tdb;
  TCMALLOC(tdb, sizeof(*tdb));
  tctdbclear(tdb);
  tdb->hdb = tchdbnew();
  tchdbtune(tdb->hdb, TDBDEFBNUM, TDBDEFAPOW, TDBDEFFPOW, 0);
  tchdbsetxmsiz(tdb->hdb, TDBDEFXMSIZ);
  return tdb;
}
  1. TDB用のヒープに領域を確保する(TCMALLOCはmalloc)
  2. TDBの各値を初期化
  3. TDBで保持するhash databaseを作成
  4. hash databaseのパラメータを設定
  5. hash databaseのextra mapped memoryのsizeを設定(アラインメントされる)