ForHosting KIT · 開発者向けツール

ハッシュ表のバケット数

ハッシュ表の速さは、背後の配列が適切に寸法決めされているかどうかに尽きます。n個の鍵をm個のバケットへ入れると、負荷率α = n / mが、鎖の伸び、開放番地法の塊り、再確保の頻度を決めます。mが小さすぎれば、毎回の検索が衝突の山を辿ります。mが大きすぎれば、遅延を助けない空き枠にRAMを払うことになります。このハッシュ表バケット数計算機は、見込まれる要素数、Java HashMapの既定である0.75のような目標負荷率、および丸め方針を受け取り、占有がその目標以下に収まる、割り当て可能な最小の表を返します。まず生の天井ceil(n / α)を求め、その床を次の2の冪または次の素数へ切り上げます。これが本番の対応表が実際に確保する二つの大きさです。2の冪の大きさは、ハッシュと(m引く一)のビット単位ANDで添字を付けるマスク型の対応表に合います。素数の大きさは、hash mod mで添字を付ける剰余型の対応表に合います。同じ決定的な算術が無料のブラウザ用widgetとAPI経路を動かすので、寸法決めの手帳と本番前点検が、バケット配列をどれだけ大きくすべきかで食い違うことはありません。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

使い方

上のフォームに値を入力してください。計算前に内容を確認し、同じページに結果を表示します。

入力内容の確認

各項目のラベルと単位に従って入力してください。不足や範囲外の値がある場合は、修正する項目をページ上で示します。

再計算または自動化

個別の確認にはWebツールを、同じ機能を自動処理に組み込む場合はAPIを使用できます。

今すぐ結果を確認

値を入力するだけで、表計算やスクリプトを用意せずに結果を確認できます。

条件を比較

値を1つずつ変えて再計算し、結果に影響する要素を確認できます。

繰り返し処理を自動化

同じ計算を製品やワークフローで繰り返す場合はAPIを利用できます。

この機能はどう使いますか?

上の項目を入力して、このページで実行します。修正が必要な入力はフォームで示されます。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/dev/hash-table-capacity

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/dev/hash-table-capacity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":1000,"load_factor":0.75}'
{
  "items": 1000,
  "load_factor": 0.75
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.hash_table_capacity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_items1000000000
min_load_factor0.05
max_load_factor1
max_buckets34359738368
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

KITの完全なドキュメントを見る →