Santhosh has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/394275 )

Change subject: LanguageNameSearch: Optimize levenshteinDistance
......................................................................

LanguageNameSearch: Optimize levenshteinDistance

1. Do string comparison for equality early in the method so that we can
   do early return if it passes.
2. Move the zero length check for string up for early return. This may
   not have any significant change in performance though.

Change-Id: I86bdd612a4a31c5ebfac6bcd7687b829acc69cda
---
M data/LanguageNameSearch.php
1 file changed, 5 insertions(+), 5 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector 
refs/changes/75/394275/1

diff --git a/data/LanguageNameSearch.php b/data/LanguageNameSearch.php
index d12fb5f..06840f1 100644
--- a/data/LanguageNameSearch.php
+++ b/data/LanguageNameSearch.php
@@ -105,16 +105,16 @@
         * @return int
         */
        public static function levenshteinDistance( $str1, $str2 ) {
+               if ( $str1 === $str2 ) {
+                       return 0;
+               }
                $length1 = mb_strlen( $str1, 'UTF-8' );
                $length2 = mb_strlen( $str2, 'UTF-8' );
-               if ( $length1 < $length2 ) {
-                       return self::levenshteinDistance( $str2, $str1 );
-               }
                if ( $length1 === 0 ) {
                        return $length2;
                }
-               if ( $str1 === $str2 ) {
-                       return 0;
+               if ( $length1 < $length2 ) {
+                       return self::levenshteinDistance( $str2, $str1 );
                }
                $prevRow = range( 0, $length2 );
                for ( $i = 0; $i < $length1; $i++ ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/394275
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I86bdd612a4a31c5ebfac6bcd7687b829acc69cda
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Santhosh <santhosh.thottin...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to