This is an archive of the discontinued LLVM Phabricator instance.

[WIP][ADT] Utility for comparision of hashtables implementation.
Needs ReviewPublic

Authored by avl on Aug 24 2022, 4:11 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

NOT FOR INTEGRATION. FOR INFORMATIONAL PURPOSES ONLY.

The utility allows to compare performance and memory requirements
for following hashtables: ConcurrentHashTable, Intel TBB concurrent_unordered_map, libcuckoo cuckoohash_map, std::unordered_map, llvm::DenseMap, llvm DenseMap, lldb ConstString, llvm StringMap, TrieRawHashMap.

To obtain Intel threading building block library visit https://github.com/oneapi-src/oneTBB.
Build library according to the instructions.
Add following into the llvm/tools/check-hashtable/CMakeLists.txt

include_directories( oneTBB/install/include )

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,oneTBB/install/lib/libtbb.so ")

To obtain libcuckoo library visit https://github.com/efficient/libcuckoo
Build library according to the instructions.
Add following into the llvm/tools/check-hashtable/CMakeLists.txt

include_directories( libcuckoo/install/include )

Depends On D132455, D142318, D133714, D133715

Diff Detail

Event Timeline

avl created this revision.Aug 24 2022, 4:11 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 24 2022, 4:11 AM
Herald added a subscriber: mgorny. · View Herald Transcript
avl requested review of this revision.Aug 24 2022, 4:11 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 24 2022, 4:11 AM
avl updated this revision to Diff 484378.Dec 20 2022, 2:17 PM

rebased.

avl updated this revision to Diff 485620.Dec 29 2022, 8:28 AM

rebased

avl updated this revision to Diff 486312.Jan 4 2023, 8:55 AM

added HashMappedTrie to the set of hashtables to compare.

avl edited the summary of this revision. (Show Details)Jan 4 2023, 8:56 AM
avl added a parent revision: D133715: [ADT] Add TrieRawHashMap.
avl updated this revision to Diff 500584.Feb 26 2023, 7:49 AM

rebased. added test set - dwarffile.

avl edited the summary of this revision. (Show Details)Feb 26 2023, 7:56 AM