Ran some quick tests on our various containers and a couple candidate replacements to check on performance. Interesting results:
morrison@Miniagua Verstable % ./unordered_map_test
Unordered Map Insertion Time: 0.368054 seconds
Unordered Map Lookup Time: 0.0389437 seconds
Unordered Map Deletion Time: 0.322391 seconds
morrison@Miniagua Verstable % ./verstable_test
Verstable Insertion Time: 0.734719 seconds
Verstable Lookup Time: 0.139974 seconds
Verstable Deletion Time: 0.161566 seconds
morrison@Miniagua Verstable % ./hash_test
Hash Table Insertion Time: 6.944 seconds
Hash Table Lookup Time: 6.80006 seconds
Hash Table Deletion Time: 0.0561262 seconds
morrison@Miniagua Verstable % ./ptbl_test
Ptbl Insertion Time: 0.00723613 seconds
Ptbl Lookup Time: 209.392 seconds
Ptbl Deletion Time: 361.77 seconds
Not strictly apples to apples as I was originally evaluating int-to-int hash lookup timings, which hash and ptbl don't do, so they're using pointer data (ptr-to-ptr). I still need to go back and change unordered and verstable to be ptr-to-ptr for more direct comparison.
Last updated: Jan 09 2025 at 00:46 UTC