Commit Graph

967 Commits

Author SHA1 Message Date
levlam
03a994e198 Optimize erase_node, part 1. 2022-02-25 13:53:13 +03:00
levlam
ef14369058 Store bucket_count in FlatHashTableInner. 2022-02-25 04:04:29 +03:00
levlam
01b884858d Return the same begin() if hashtable wasn't changed. 2022-02-25 00:24:27 +03:00
levlam
a657cf6458 Use random begin() in HashTable. 2022-02-25 00:04:32 +03:00
levlam
f298d71c08 HashTable bug fixes. 2022-02-24 22:04:21 +03:00
levlam
ecb14f1bdd Minore fixes. 2022-02-24 21:38:57 +03:00
levlam
35cf57eed8 Consistently use uint32 in FlatHashTable. 2022-02-23 22:51:43 +03:00
levlam
fe06a1d4fc Fix GCC warnings. 2022-02-23 22:46:32 +03:00
levlam
e1909b018e Reduce size of an empty FlatHashTable. 2022-02-23 22:13:40 +03:00
levlam
3da16b4501 Use bucket_count() instead of nodes_.size(). 2022-02-23 18:20:25 +03:00
Arseny Smirnov
e2c7601c2b DownloadManager: draft 2022-02-23 19:34:26 +01:00
levlam
6f2a9270a3 Always try shrink after node erasure. 2022-02-23 18:05:56 +03:00
levlam
d090929249 Store end_ in iterator instead of map itself. 2022-02-23 17:41:11 +03:00
levlam
b307396628 Simplify FlatHashTable implementation. 2022-02-23 16:34:42 +03:00
levlam
73ade8cc43 Randomize hash value and optimize bucket calculation. 2022-02-23 16:27:19 +03:00
levlam
b3a784f4ba Properly clear other hashmap after move. 2022-02-23 15:58:12 +03:00
levlam
5f5205ae6c Remove unneeded return values from hashtable move-assignment operators. 2022-02-23 15:50:58 +03:00
levlam
1f12b0d8e8 Allow folly usages only if TD_TEST_FOLLY is defined. 2022-02-23 15:01:53 +03:00
levlam
c9c9a73499 Fix swap(fixed_vector) usages. 2022-02-21 05:49:59 +03:00
levlam
f0a2ccd0fb Remove value_type from SetNode. 2022-02-21 02:22:01 +03:00
levlam
9e8b2489bd Keep the first value from initializer_list. 2022-02-21 00:33:19 +03:00
levlam
77ccc13181 Add Map/SetNode::copy_from. 2022-02-20 23:03:34 +03:00
levlam
983cc2c45c Various hash table improvements. 2022-02-19 11:34:43 +03:00
levlam
94289c0c9e Fix SCOPE_EXIT redefinition. 2022-02-18 23:25:23 +03:00
levlam
ae3854d97c Various fixes. 2022-02-18 23:04:25 +03:00
levlam
b5cf85d6e2 Fix compilation error. 2022-02-18 15:15:58 +03:00
Arseny Smirnov
952ac3ed7c FlatHashMap: add MaskSse2 to benchmark 2022-02-18 00:48:33 +01:00
Arseny Smirnov
39934a7f9e FlatHashMap: sse2 support 2022-02-18 00:47:58 +01:00
Arseny Smirnov
a356cc7e3d FlatHashMap: optimizations 2022-02-18 00:30:14 +01:00
Arseny Smirnov
5ff92065bf FlatHashMap: fixes for portability 2022-02-17 20:22:46 +01:00
Arseny Smirnov
34a69e3133 FlatHashMap: add implementation with chunks 2022-02-17 19:40:18 +01:00
levlam
512c0cd3c2 Fix formatting. 2022-02-12 00:48:35 +03:00
Arseny Smirnov
a11d37dd4c FlatHashMap: fix CE 2022-02-11 18:11:17 +01:00
Arseny Smirnov
ecceb51881 FlatHashSet 2022-02-11 17:41:40 +01:00
levlam
15f27455c5 Move other big classes inside FlatHashMap to unique_ptr. 2022-02-11 19:27:32 +03:00
levlam
5b4bea1fef Add HashMap build time benchmark. 2022-02-11 14:46:30 +03:00
levlam
6ae2096d68 Fix HashSet benchmark. 2022-02-11 11:26:58 +03:00
Arseny Smirnov
1a3adc3ee7 FlatHashTable: bugfix 2022-02-10 22:44:40 +01:00
Arseny Smirnov
500c20f7ea FlatHashMap: more benchmarks 2022-02-10 22:34:01 +01:00
levlam
b71e330396 Fix tests. 2022-02-11 00:11:02 +03:00
levlam
b8ab910b81 Various improvements. 2022-02-10 23:01:28 +03:00
Arseny Smirnov
987e875520 FlatHashMap: support mem_stat->rss in memory benchmark; move memory benchmark in other folder, fix build. 2022-02-10 18:33:23 +01:00
Arseny Smirnov
6bb365567b FlatHashMap: improve memory benchmark 2022-02-10 18:29:52 +01:00
levlam
1a28bbd00c Remove redundant checks from calc_bucket. 2022-02-10 18:30:03 +03:00
Arseny Smirnov
10c59db842 FlatHashMap: simple benchmark for memory usage 2022-02-10 14:37:19 +01:00
Arseny Smirnov
f4b3a09646 FlatHashMap: shrink table if too sparse 2022-02-10 14:37:19 +01:00
levlam
9e6d106585 Minor improvements. 2022-02-10 11:55:32 +03:00
Arseny Smirnov
129d12566d FlatHashMap: add tests 2022-02-09 22:22:51 +01:00
Arseny Smirnov
8d8896d7f0 FlatHashMap: remove_if; generic td::table_remove_if 2022-02-09 22:22:51 +01:00
Arseny Smirnov
87354498e4 cmake: use SYSTEM after PUBLIC or PRIVATE in target_link_libraries to avoid error 2022-02-09 22:22:51 +01:00