logic: generate indexer commands on demand to reduce shared memory consumption
* implemented task for sending IndexerCommands to shared memory on demand * SourceGroups now return IndexerCommandProviders instead of just a list of indexer commands. This way information can be stored in a compressed format * merged IndexerCommandCxxEmpty and IndexerCommandCxxCdb * moved sorting of indexer commands by file size from IndexerCommandList to TaskFillIndexerCommandQueue * removed obsolete IndexerCommandList class * wait for IndexerCommandQueue to be filled before starting the indexers * restart finished indexer processes while indexerCommandQueue is still running * restart indexer threads as long as there are indexer commands to process * removed Blackboard::getMutex() and added an atomic update() method
This commit is contained in:
@@ -1,8 +1,14 @@
|
||||
#include "project/SourceGroup.h"
|
||||
|
||||
#include "data/indexer/MemoryIndexerCommandProvider.h"
|
||||
#include "settings/SourceGroupSettings.h"
|
||||
#include "utility/file/FilePath.h"
|
||||
|
||||
std::shared_ptr<IndexerCommandProvider> SourceGroup::getIndexerCommandProvider(const std::set<FilePath>& filesToIndex) const
|
||||
{
|
||||
return std::make_shared<MemoryIndexerCommandProvider>(getIndexerCommands(filesToIndex));
|
||||
}
|
||||
|
||||
SourceGroupType SourceGroup::getType() const
|
||||
{
|
||||
return getSourceGroupSettings()->getType();
|
||||
|
||||
Reference in New Issue
Block a user