Just a little follow up here. I've been cleaning up a lot of unused code (by that I mean ripping out things only used from older projects into a separate library) and sanitizing some things in the process, and this hashtable happened to get caught up in it, so I went ahead and optimized it and ran the benchmark again for fun. :)

I also removed most of the template code for the new version, to optimize for compile times and code bloat as well. I have a template bloat test that I run (it's basically a code generator from macros) which creates a bunch of instantiations of templates; this beats any std::anything compile times by a ridiculous margin, and only generates <1% code bloat by comparison, apparently, so I'm satisfied enough.

This time I upped the value size to at least try and give chained-hashing a good run, but it's even worse than before...

*Note*
HashTable = original version.
HashTable2 = new version.
Code:
[03:33:46]  --- Speed Test. ---
[03:33:46]  --- Iteration Size = 512. ---
[03:33:46]  --- HashTable Load Factor: 50 percent. ---
[03:33:46]  
[03:33:46] sizes 0, 0, 0, 0
[03:33:46] raw array baseline:   3207
[03:33:46] HashTable     insert: 134018
[03:33:46] HashTable2    insert: 103645
[03:33:46] ea::hash_map  insert: 585884
[03:33:46] std::hash_map insert: 640239
[03:33:46] std::map      insert: 529085
[03:33:46] std::map<str> insert: 967153
[03:33:46] rde::hash_map insert: 185046
[03:33:46]  
[03:33:46] sizes 511, 511, 511, 511
[03:33:46] HashTable     clear: 43197
[03:33:46] HashTable2    clear: 6711
[03:33:46] ea::hash_map  clear: 230845
[03:33:46] std::hash_map clear: 275579
[03:33:46] std::map      clear: 480117
[03:33:46] std::map<str> clear: 19228
[03:33:46] rde::hash_map clear: 84533
[03:33:46]  
[03:33:46] sizes 0, 0, 0, 0
[03:33:46] HashTable     insert: 268658
[03:33:46] HashTable2    insert: 278309
[03:33:46] ea::hash_map  insert: 487562
[03:33:46] std::hash_map insert: 795025
[03:33:46] std::map      insert: 938527
[03:33:46] std::map<str> insert: 1060380
[03:33:46] rde::hash_map insert: 241995
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 511, 511, 511, 511
[03:33:46] HashTable     find: 62056
[03:33:46] HashTable2    find: 13803
[03:33:46] ea::hash_map  find: 87671
[03:33:46] std::hash_map find: 75523
[03:33:46] std::map      find: 147322
[03:33:46] std::map<str> find: 189381
[03:33:46] rde::hash_map find: 18451
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 511, 511, 511, 511
[03:33:46] HashTable     remove: 53568
[03:33:46] HashTable2    remove: 53844
[03:33:46] ea::hash_map  remove: 60767
[03:33:46] std::hash_map remove: 146094
[03:33:46] std::map      remove: 121547
[03:33:46] std::map<str> remove: 87439
[03:33:46] rde::hash_map remove: 35045
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 383, 383, 383, 383
[03:33:46] HashTable     find: 28340
[03:33:46] HashTable2    find: 5939
[03:33:46] ea::hash_map  find: 36020
[03:33:46] std::hash_map find: 64632
[03:33:46] std::map      find: 128579
[03:33:46] std::map<str> find: 144129
[03:33:46] rde::hash_map find: 104023
[03:33:46]  
[03:33:46]  --- Speed Test. ---
[03:33:46]  --- Iteration Size = 768. ---
[03:33:46]  --- HashTable Load Factor: 75 percent. ---
[03:33:46]  
[03:33:46] sizes 0, 0, 0, 0
[03:33:46] raw array baseline:   4816
[03:33:46] HashTable     insert: 260679
[03:33:46] HashTable2    insert: 254548
[03:33:46] ea::hash_map  insert: 376892
[03:33:46] std::hash_map insert: 1259679
[03:33:46] std::map      insert: 892279
[03:33:46] std::map<str> insert: 1188773
[03:33:46] rde::hash_map insert: 301241
[03:33:46]  
[03:33:46] sizes 767, 767, 767, 767
[03:33:46] HashTable     clear: 100992
[03:33:46] HashTable2    clear: 10515
[03:33:46] ea::hash_map  clear: 441884
[03:33:46] std::hash_map clear: 349907
[03:33:46] std::map      clear: 565421
[03:33:46] std::map<str> clear: 37769
[03:33:46] rde::hash_map clear: 66423
[03:33:46]  
[03:33:46] sizes 0, 0, 0, 0
[03:33:46] HashTable     insert: 336994
[03:33:46] HashTable2    insert: 260514
[03:33:46] ea::hash_map  insert: 552926
[03:33:46] std::hash_map insert: 952609
[03:33:46] std::map      insert: 1278542
[03:33:46] std::map<str> insert: 1504508
[03:33:46] rde::hash_map insert: 286960
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 767, 767, 767, 767
[03:33:46] HashTable     find: 103123
[03:33:46] HashTable2    find: 19976
[03:33:46] ea::hash_map  find: 279149
[03:33:46] std::hash_map find: 356751
[03:33:46] std::map      find: 123995
[03:33:46] std::map<str> find: 432412
[03:33:46] rde::hash_map find: 132491
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 767, 767, 767, 767
[03:33:46] HashTable     remove: 53389
[03:33:46] HashTable2    remove: 30244
[03:33:46] ea::hash_map  remove: 162388
[03:33:46] std::hash_map remove: 184580
[03:33:46] std::map      remove: 175415
[03:33:46] std::map<str> remove: 168393
[03:33:46] rde::hash_map remove: 17975
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 575, 575, 575, 575
[03:33:46] HashTable     find: 26669
[03:33:46] HashTable2    find: 14989
[03:33:46] ea::hash_map  find: 55588
[03:33:46] std::hash_map find: 280343
[03:33:46] std::map      find: 112630
[03:33:46] std::map<str> find: 304988
[03:33:46] rde::hash_map find: 129425
[03:33:46]  
[03:33:46]  --- Speed Test. ---
[03:33:46]  --- Iteration Size = 1024. ---
[03:33:46]  --- HashTable Load Factor: 100 percent. ---
[03:33:46]  
[03:33:46] sizes 0, 0, 0, 0
[03:33:46] HashTable     insert: 358430
[03:33:46] HashTable2    insert: 343127
[03:33:46] ea::hash_map  insert: 951636
[03:33:46] std::hash_map insert: 1230571
[03:33:46] std::map      insert: 1690042
[03:33:46] std::map<str> insert: 2068730
[03:33:46] rde::hash_map insert: 456155
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 1023, 1023, 1023, 1023
[03:33:46] HashTable     find: 156528
[03:33:46] HashTable2    find: 23810
[03:33:46] ea::hash_map  find: 174245
[03:33:46] std::hash_map find: 227375
[03:33:46] std::map      find: 353819
[03:33:46] std::map<str> find: 665612
[03:33:46] rde::hash_map find: 85126
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 1023, 1023, 1023, 1023
[03:33:46] HashTable     remove: 114643
[03:33:46] HashTable2    remove: 84462
[03:33:46] ea::hash_map  remove: 205326
[03:33:46] std::hash_map remove: 309403
[03:33:46] std::map      remove: 248285
[03:33:46] std::map<str> remove: 430286
[03:33:46] rde::hash_map remove: 64323
[03:33:46]  
[03:33:46]  
[03:33:46] sizes 767, 767, 767, 767
[03:33:46] HashTable     find: 149344
[03:33:46] HashTable2    find: 18428
[03:33:46] ea::hash_map  find: 193752
[03:33:46] std::hash_map find: 295686
[03:33:46] std::map      find: 143338
[03:33:46] std::map<str> find: 171214
[03:33:46] rde::hash_map find: 1065822
[03:33:46]  
[03:33:46]  --- Worst case test ---
[03:33:46]  
[03:33:46] sizes 0, 0, 0, 0
[03:33:46] HashTable     insert: 242623
[03:33:46] HashTable2    insert: 266851
[03:33:46] std::hash_map insert: 651776
[03:33:46] std::map      insert: 521774
[03:33:46] rde::hash_map insert: 284348
[03:33:46]  
[03:33:46]  --- HashTable Load Factor: 50 percent. ---
[03:33:46]  
[03:33:46] sizes 512, 512, 512, 512
[03:33:46] HashTable     find: 44821
[03:33:46] HashTable2    find: 8608
[03:33:46] std::hash_map find: 268987
[03:33:46] std::map      find: 134476
[03:33:46] rde::hash_map find: 21596
[03:33:46] HashTable     remove: 47197
[03:33:46] HashTable2    remove: 8031
[03:33:46] std::hash_map remove: 234941
[03:33:46] std::map      remove: 257659
[03:33:46] rde::hash_map remove: 14391
[03:33:46]  
[03:33:46]  --- HashTable Load Factor: 25 percent. ---
[03:33:46]  
[03:33:46] sizes 256, 256, 256, 256
[03:33:46] HashTable     find: 41936
[03:33:46] HashTable2    find: 3722
[03:33:46] std::hash_map find: 55741
[03:33:46] std::map      find: 53282
[03:33:46] rde::hash_map find: 38327
[03:33:46] HashTable     insert: 175521
[03:33:46] HashTable2    insert: 176591
[03:33:46] std::hash_map insert: 509196
[03:33:46] std::map      insert: 435533
[03:33:46] rde::hash_map insert: 256612
[03:33:46]  
[03:33:46]  --- HashTable Load Factor: 67 percent. ---
[03:33:46]  
[03:33:46] sizes 683, 683, 683, 683
[03:33:46] HashTable     find: 125480
[03:33:46] HashTable2    find: 20572
[03:33:46] std::hash_map find: 357002
[03:33:46] std::map      find: 286201
[03:33:46] rde::hash_map find: 135255
[03:33:46] HashTable     insert: 4739951
[03:33:46] HashTable2    insert: 176813
[03:33:46] std::hash_map insert: 888408
[03:33:46] std::map      insert: 372748
[03:33:46] rde::hash_map insert: 204137
[03:33:46]  
[03:33:46]  --- HashTable Load Factor: 83 percent. ---
[03:33:46]  
[03:33:46] sizes 848, 848, 848, 848
[03:33:46] HashTable     find: 408489
[03:33:46] HashTable2    find: 285519
[03:33:46] std::hash_map find: 248305
[03:33:46] std::map      find: 168740
[03:33:46] rde::hash_map find: 131819
[03:33:46] HashTable     remove: 2152647
[03:33:46] HashTable2    remove: 701855
[03:33:46] std::hash_map remove: 194693
[03:33:46] std::map      remove: 214543
[03:33:46] rde::hash_map remove: 49955
[03:33:46]  
[03:33:46]  --- HashTable Load Factor: 63 percent. ---
[03:33:46]  
[03:33:46] sizes 647, 647, 647, 647
[03:33:46] HashTable     find: 144374
[03:33:46] HashTable2    find: 91816
[03:33:46] std::hash_map find: 175481
[03:33:46] std::map      find: 142534
[03:33:46] rde::hash_map find: 112440
2nd moral of the story?

Don't use std:: for anything. It's all shit crap fucking stupid. Just including the single hashmapTest.h file increased my compile time by over 400% making me very sad, so this is definitely the last time I ever randomly benchmark c++ things.

It sounds like I'm ranting now so I'll call it a day.
One of these days in the near future I plan to put up a bunch of single file libs on github. Not like anybody will ever use them, but hey, why not.