Skip to content

Do proper fuzzy matching in completion

Waqar Ahmed requested to merge work/compl-proper-fuzzy-match into master

Use KFuzzyMatcher for fuzzy matching. Results are better and fixes the linked bug.

Also remove some dead code related to case sensitivity while at it.

As a bonus things will be much faster:

After

RESULT : CompletionTest::benchAbbreviationEngineNormalCase():
     23 msecs per iteration (total: 92, iterations: 4)
PASS   : CompletionTest::benchAbbreviationEngineWorstCase()
RESULT : CompletionTest::benchAbbreviationEngineWorstCase():
     44 msecs per iteration (total: 88, iterations: 2)
PASS   : CompletionTest::benchAbbreviationEngineGoodCase()
RESULT : CompletionTest::benchAbbreviationEngineGoodCase():
     2.9 msecs per iteration (total: 95, iterations: 32)

Before

RESULT : CompletionTest::benchAbbreviationEngineNormalCase():
     42 msecs per iteration (total: 84, iterations: 2)
PASS   : CompletionTest::benchAbbreviationEngineWorstCase()
RESULT : CompletionTest::benchAbbreviationEngineWorstCase():
     1,433 msecs per iteration (total: 1,433, iterations: 1)
PASS   : CompletionTest::benchAbbreviationEngineGoodCase()
RESULT : CompletionTest::benchAbbreviationEngineGoodCase():
     2.8 msecs per iteration (total: 91, iterations: 32)

BUG: 401509

Edited by Waqar Ahmed

Merge request reports