From e9b9b2d683460e4fedb18ca935bdfc1bea46ed0a Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Fri, 7 Sep 2012 18:48:07 +0200
Subject: [PATCH] optimize similarTextHeuristicCandidates()

no need to re-calculate the matrix for the reference string every time.

Change-Id: Id4432d9fa78d5a065cfe1549a908454710e0ae26
Reviewed-by: hjk <qthjk@ovi.com>
---
 src/linguist/shared/simtexth.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/linguist/shared/simtexth.cpp b/src/linguist/shared/simtexth.cpp
index 605bb1517..479e7c6ae 100644
--- a/src/linguist/shared/simtexth.cpp
+++ b/src/linguist/shared/simtexth.cpp
@@ -237,6 +237,7 @@ CandidateList similarTextHeuristicCandidates(const Translator *tor,
 {
     QList<int> scores;
     CandidateList candidates;
+    StringSimilarityMatcher matcher(text);
 
     foreach (const TranslatorMessage &mtm, tor->messages()) {
         if (mtm.type() == TranslatorMessage::Unfinished
@@ -244,7 +245,7 @@ CandidateList similarTextHeuristicCandidates(const Translator *tor,
             continue;
 
         QString s = mtm.sourceText();
-        int score = getSimilarityScore(s, text);
+        int score = matcher.getSimilarityScore(s);
 
         if (candidates.size() == maxCandidates && score > scores[maxCandidates - 1] )
             candidates.removeLast();
-- 
GitLab