data: Fixed indexing performance regression in FileRegister
* removed debug cout uses * add source paths first as header search paths
This commit is contained in:
@@ -13,8 +13,9 @@ FileRegister::FileRegister(
|
||||
, m_indexedPaths(indexedPaths)
|
||||
, m_excludedPaths(excludedPaths)
|
||||
, m_hasFilePathCache(
|
||||
[&](const FilePath& filePath)
|
||||
[&](const std::string& f)
|
||||
{
|
||||
const FilePath filePath(f);
|
||||
bool ret = false;
|
||||
|
||||
if (filePath == m_currentPath)
|
||||
@@ -100,5 +101,5 @@ bool FileRegister::fileIsIndexed(const FilePath& filePath) const
|
||||
|
||||
bool FileRegister::hasFilePath(const FilePath& filePath) const
|
||||
{
|
||||
return m_hasFilePathCache.getValue(filePath);
|
||||
return m_hasFilePathCache.getValue(filePath.str());
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <set>
|
||||
|
||||
#include "utility/file/FileRegisterStateData.h"
|
||||
#include "utility/OrderedCache.h"
|
||||
#include "utility/UnorderedCache.h"
|
||||
|
||||
class FileRegister
|
||||
{
|
||||
@@ -29,7 +29,7 @@ private:
|
||||
const FilePath& m_currentPath;
|
||||
const std::set<FilePath> m_indexedPaths;
|
||||
const std::set<FilePath> m_excludedPaths;
|
||||
mutable OrderedCache<FilePath, bool> m_hasFilePathCache;
|
||||
mutable UnorderedCache<std::string, bool> m_hasFilePathCache;
|
||||
};
|
||||
|
||||
#endif // FILE_REGISTER_H
|
||||
|
||||
@@ -23,8 +23,6 @@ std::vector<std::shared_ptr<IndexerCommand>> SourceGroupCxxEmpty::getIndexerComm
|
||||
std::shared_ptr<ApplicationSettings> appSettings = ApplicationSettings::getInstance();
|
||||
|
||||
std::vector<FilePath> systemHeaderSearchPaths;
|
||||
utility::append(systemHeaderSearchPaths, m_settings->getHeaderSearchPathsExpandedAndAbsolute());
|
||||
utility::append(systemHeaderSearchPaths, appSettings->getHeaderSearchPathsExpanded());
|
||||
|
||||
// Add the source paths as HeaderSearchPaths as well, so clang will also look here when searching include files.
|
||||
for (const FilePath& sourcePath: m_settings->getSourcePathsExpandedAndAbsolute())
|
||||
@@ -35,6 +33,9 @@ std::vector<std::shared_ptr<IndexerCommand>> SourceGroupCxxEmpty::getIndexerComm
|
||||
}
|
||||
}
|
||||
|
||||
utility::append(systemHeaderSearchPaths, m_settings->getHeaderSearchPathsExpandedAndAbsolute());
|
||||
utility::append(systemHeaderSearchPaths, appSettings->getHeaderSearchPathsExpanded());
|
||||
|
||||
std::vector<FilePath> frameworkSearchPaths;
|
||||
utility::append(frameworkSearchPaths, m_settings->getFrameworkSearchPathsExpandedAndAbsolute());
|
||||
utility::append(frameworkSearchPaths, appSettings->getFrameworkSearchPathsExpanded());
|
||||
|
||||
@@ -174,7 +174,6 @@ void QtDialogView::startIndexingDialog(
|
||||
connect(window, &QtWindow::canceled,
|
||||
[=]()
|
||||
{
|
||||
std::cout << "cancelse" << std::endl;
|
||||
setUIBlocked(false);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -74,7 +74,6 @@ bool QtProjectWizzardContentPaths::check()
|
||||
for (const FilePath& path : m_list->getList())
|
||||
{
|
||||
std::vector<FilePath> expandedPaths(1, path);
|
||||
std::cout << path.str() << std::endl;
|
||||
if (m_settings)
|
||||
{
|
||||
expandedPaths = m_settings->makePathsExpandedAndAbsolute(expandedPaths);
|
||||
|
||||
Reference in New Issue
Block a user