Skip to content

admiswalker/InsertedChainedHashTable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InsertedChainedHashTable

01. 概要

本プログラムは,key: UINT64, value: UINT64 or void* のみに対応した, クラスタリング (要素削除による速度低下) の発生しない Open Addressing 方式の簡易ハッシュテーブルです. 現在,key: UINT64, value: UINT64 or void*,にのみ対応しています. 特に,key: UINT64, value: UINT64 では,Microsoft Visual C++ に実装されている std::unorderd_map よりも高速に動作します.

詳細: https://admiswalker.blogspot.jp/2017/01/ichasht.html

02. 使用手順

./~/ICHashT/ をファイルごとコピーして
#include "./ICHashT/ICHashT.hpp"
と記述してください.

具体的な使用方法は,
./~/ICHashT_ExampleFunctions.cpp
./~/ICHashT_ExampleFunctions.hpp
を参考にしてください.

03. ベンチマーク

ベンチマークは,
./~/ICHashT_benchmark.cpp
./~/ICHashT_benchmark.hpp
に記述されています.

下記のファイルを使用します.
./~/mt64.cpp
./~/mt64.hpp
./~/rounds.hpp

04. その他のファイル

  • FNV-1 ハッシュ関数です.
    ./~/ICHashT/FNV_Hash.cpp
    ./~/ICHashT/FNV_Hash.hpp

  • Windows のコンソールを一時停止するための関数です.UINX 環境では無効化されます.
    ./~/ICHashT/SysPauseForWin32.h  

  • 開発中に使用したデバッグ用の関数です.
    ./~/ICHashT_DebugFunctions.cpp
    ./~/ICHashT_DebugFunctions.hpp
    ./~/ICHashT/FileWriter.cpp
    ./~/ICHashT/FileWriter.hpp
    ./~/ICHashT/printf_dbger.h
    ./~/ICHashT/str_sprintf.cpp
    ./~/ICHashT/str_sprintf.hpp

About

A hash table which suppresses slow down after elements deletion. And faster than std::unordered_map in MSVC++.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published