diff options
| author | levlam <levlam@telegram.org> | 2025-04-14 14:01:51 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2025-04-14 14:01:51 +0300 |
| commit | ef2825148101449c598a36ed0aefbee5fc0ee356 (patch) | |
| tree | 499bbc3ba71c012a69647645d6a1801b43a6977e /tdutils | |
| parent | 04adfc87deea4c804def118e88c89a08c388b32b (diff) | |
Various improvements.
Diffstat (limited to 'tdutils')
| -rw-r--r-- | tdutils/td/utils/ChainScheduler.h | 2 | ||||
| -rw-r--r-- | tdutils/td/utils/ConcurrentHashTable.h | 8 | ||||
| -rw-r--r-- | tdutils/td/utils/FlatHashMapChunks.h | 2 | ||||
| -rw-r--r-- | tdutils/test/ChainScheduler.cpp | 2 |
4 files changed, 9 insertions, 5 deletions
diff --git a/tdutils/td/utils/ChainScheduler.h b/tdutils/td/utils/ChainScheduler.h index 9d6bce64f..10dc96122 100644 --- a/tdutils/td/utils/ChainScheduler.h +++ b/tdutils/td/utils/ChainScheduler.h @@ -138,7 +138,7 @@ class ChainScheduler final : public ChainSchedulerBase { struct Task { enum class State { Pending, Active, Paused } state{State::Pending}; vector<TaskChainInfo> chains; - ExtraT extra; + ExtraT extra{}; }; FlatHashMap<ChainId, unique_ptr<ChainInfo>> chains_; FlatHashMap<ChainId, TaskId> limited_tasks_; diff --git a/tdutils/td/utils/ConcurrentHashTable.h b/tdutils/td/utils/ConcurrentHashTable.h index b7bad15a7..dab06fc61 100644 --- a/tdutils/td/utils/ConcurrentHashTable.h +++ b/tdutils/td/utils/ConcurrentHashTable.h @@ -209,12 +209,15 @@ class ConcurrentHashMap { int migrate_generation_{0}; HashMap *migrate_from_hash_map_{nullptr}; HashMap *migrate_to_hash_map_{nullptr}; + struct Task { size_t begin; size_t end; + bool empty() const { return begin >= end; } + size_t size() const { if (empty()) { return 0; @@ -224,9 +227,10 @@ class ConcurrentHashMap { }; struct TaskCreator { - size_t chunk_size; - size_t size; + size_t chunk_size{0}; + size_t size{0}; std::atomic<size_t> pos{0}; + Task create() { auto i = pos++; auto begin = i * chunk_size; diff --git a/tdutils/td/utils/FlatHashMapChunks.h b/tdutils/td/utils/FlatHashMapChunks.h index 35a7aee6a..97f822bd5 100644 --- a/tdutils/td/utils/FlatHashMapChunks.h +++ b/tdutils/td/utils/FlatHashMapChunks.h @@ -68,7 +68,7 @@ struct MaskPortable { static MaskIterator<1> equal_mask(uint8 *bytes, uint8 needle) { uint64 res = 0; for (int i = 0; i < 16; i++) { - res |= (bytes[i] == needle) << i; + res |= static_cast<int>(bytes[i] == needle) << i; } return {res & ((1u << 14) - 1)}; } diff --git a/tdutils/test/ChainScheduler.cpp b/tdutils/test/ChainScheduler.cpp index 19df4f8ce..d338eeccd 100644 --- a/tdutils/test/ChainScheduler.cpp +++ b/tdutils/test/ChainScheduler.cpp @@ -109,7 +109,7 @@ TEST(ChainScheduler, Stress) { int ChainsN = 4; struct QueryWithParents { - TaskId task_id; + TaskId task_id = -1; QueryPtr id; td::vector<QueryPtr> parents; }; |
