Author: Luboš Luňák Date: 2022-04-04T18:46:22+02:00 New Revision: 9a6a0dfa06a5acd01f6b55f8a1ba9f0f5109e02c
URL: https://github.com/llvm/llvm-project/commit/9a6a0dfa06a5acd01f6b55f8a1ba9f0f5109e02c DIFF: https://github.com/llvm/llvm-project/commit/9a6a0dfa06a5acd01f6b55f8a1ba9f0f5109e02c.diff LOG: [lldb] make ConstStringTable use DenseMap rather than std::map The ordering is not needed, and DenseMap is faster. I can measure time spent in the SaveToCache() calls reduced to ~40% during LLDB startup (and the total startup cost reduced to ~70%). Differential Revision: https://reviews.llvm.org/D122980 Added: Modified: lldb/include/lldb/Core/DataFileCache.h Removed: ################################################################################ diff --git a/lldb/include/lldb/Core/DataFileCache.h b/lldb/include/lldb/Core/DataFileCache.h index 3016c531f6746..6f7de679f8679 100644 --- a/lldb/include/lldb/Core/DataFileCache.h +++ b/lldb/include/lldb/Core/DataFileCache.h @@ -13,6 +13,7 @@ #include "lldb/Utility/Status.h" #include "lldb/Utility/UUID.h" #include "lldb/lldb-forward.h" +#include "llvm/ADT/DenseMap.h" #include "llvm/Support/Caching.h" #include <mutex> @@ -190,7 +191,7 @@ class ConstStringTable { private: std::vector<ConstString> m_strings; - std::map<ConstString, uint32_t> m_string_to_offset; + llvm::DenseMap<ConstString, uint32_t> m_string_to_offset; /// Skip one byte to start the string table off with an empty string. uint32_t m_next_offset = 1; }; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits