Merge pull request #39 from Liderate/setFiles_speedup

Avoid is_directory check for increased performance
This commit is contained in:
Al
2024-04-08 10:56:09 +02:00
committed by GitHub
4 changed files with 6 additions and 6 deletions
+3 -3
View File
@@ -7,7 +7,6 @@
#include <QDebug>
using std::filesystem::is_directory;
using std::filesystem::path;
using std::filesystem::directory_entry;
using std::filesystem::directory_iterator;
@@ -25,7 +24,9 @@ namespace BsaPacker
{
uint32_t count = 0;
for(auto& p : recursive_directory_iterator(rootDirectory)) {
count++;
if (p.is_regular_file()) {
count++;
}
}
return count;
}
@@ -42,7 +43,6 @@ namespace BsaPacker
bool ArchiveBuilderHelper::isFileIgnorable(const path& filepath, const std::vector<path::string_type>& rootDirFilenames) const
{
return this->doesPathContainFiles(filepath, rootDirFilenames) || // ignore files within mod directory
is_directory(filepath) || // ignore directories
this->isExtensionBlacklisted(filepath); // ignore user blacklisted file types
}
+1 -1
View File
@@ -25,7 +25,7 @@ namespace BsaPacker
const auto& rootDirFiles = this->m_ArchiveBuilderHelper->getRootDirectoryFilenames(dirString);
qDebug() << "root is: " << m_RootDirectory.path() + '/';
QDirIterator iterator(this->m_RootDirectory, QDirIterator::Subdirectories);
QDirIterator iterator(this->m_RootDirectory.absolutePath(), QDir::Files, QDirIterator::Subdirectories);
while (iterator.hasNext()) {
QApplication::processEvents();
+1 -1
View File
@@ -26,7 +26,7 @@ namespace BsaPacker
const auto& rootDirFiles = this->m_ArchiveBuilderHelper->getRootDirectoryFilenames(dirString);
qDebug() << "root is: " << m_RootDirectory.path() + '/';
QDirIterator iterator(this->m_RootDirectory, QDirIterator::Subdirectories);
QDirIterator iterator(this->m_RootDirectory.absolutePath(), QDir::Files, QDirIterator::Subdirectories);
while (iterator.hasNext()) {
QApplication::processEvents();
+1 -1
View File
@@ -25,7 +25,7 @@ namespace BsaPacker
const auto& rootDirFiles = this->m_ArchiveBuilderHelper->getRootDirectoryFilenames(dirString);
qDebug() << "root is: " << m_RootDirectory.path() + '/';
QDirIterator iterator(this->m_RootDirectory, QDirIterator::Subdirectories);
QDirIterator iterator(this->m_RootDirectory.absolutePath(), QDir::Files, QDirIterator::Subdirectories);
while (iterator.hasNext()) {
QApplication::processEvents();