From 3db3b441dba2a7ea3f22c57fb4ab5c2403eaee71 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 16 May 2022 13:45:00 +0200 Subject: [PATCH] FileSearch: Some micro-optimization Fixes: QTCREATORBUG-27552 Change-Id: I1b4677af59f335df676d32c2bb0e1dbd5a9dd14b Reviewed-by: Reviewed-by: David Schulz --- src/libs/utils/filesearch.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libs/utils/filesearch.cpp b/src/libs/utils/filesearch.cpp index b686105ec8f..16fc80728dd 100644 --- a/src/libs/utils/filesearch.cpp +++ b/src/libs/utils/filesearch.cpp @@ -159,8 +159,7 @@ void FileSearch::operator()(QFutureInterface &futureInterf while (!stream.atEnd()) { ++lineNr; const QString chunk = stream.readLine(); - const QString resultItemText = clippedText(chunk, MAX_LINE_SIZE); - int chunkLength = chunk.length(); + const int chunkLength = chunk.length(); const QChar *chunkPtr = chunk.constData(); const QChar *chunkEnd = chunkPtr + chunkLength - 1; for (const QChar *regionPtr = chunkPtr; regionPtr + termMaxIndex <= chunkEnd; ++regionPtr) { @@ -207,12 +206,17 @@ void FileSearch::operator()(QFutureInterface &futureInterf && *regionCursor != termDataUpper[regionIndex]) ) { equal = false; + break; } } } if (equal) { - results << FileSearchResult(item.filePath, lineNr, resultItemText, - regionPtr - chunkPtr, termMaxIndex + 1, + const QString resultItemText = clippedText(chunk, MAX_LINE_SIZE); + results << FileSearchResult(item.filePath, + lineNr, + resultItemText, + regionPtr - chunkPtr, + termMaxIndex + 1, QStringList()); regionPtr += termMaxIndex; // another +1 done by for-loop }