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