From e04aa7b1872dd72b381ccfb332b5087e495eff08 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Mon, 20 Mar 2023 10:45:09 +1000 Subject: [PATCH] Massive speed up to QgsStringUtils::levenshteinDistance by using std::vector instead of QVector --- src/core/qgsstringutils.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/core/qgsstringutils.cpp b/src/core/qgsstringutils.cpp index 6ebcd94f5e1..3da0450c77b 100644 --- a/src/core/qgsstringutils.cpp +++ b/src/core/qgsstringutils.cpp @@ -193,13 +193,12 @@ int QgsStringUtils::levenshteinDistance( const QString &string1, const QString & } //levenshtein algorithm begins here - QVector< int > col; - col.fill( 0, length2 + 1 ); - QVector< int > prevCol; + std::vector< int > col( length2 + 1, 0 ); + std::vector< int > prevCol; prevCol.reserve( length2 + 1 ); for ( int i = 0; i < length2 + 1; ++i ) { - prevCol << i; + prevCol.emplace_back( i ); } const QChar *s2start = s2Char; for ( int i = 0; i < length1; ++i )