[perf] evaluateBonus can start from sidx - 1

This commit is contained in:
Junegunn Choi 2016-08-14 11:58:47 +09:00
parent d9c8a9a880
commit 41e916a511
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627
3 changed files with 6 additions and 9 deletions

View File

@ -55,7 +55,7 @@ func evaluateBonus(caseSensitive bool, text util.Chars, pattern []rune, sidx int
lenPattern := len(pattern) lenPattern := len(pattern)
consecutive := false consecutive := false
prevClass := charNonWord prevClass := charNonWord
for index := 0; index < eidx; index++ { for index := util.Max(0, sidx-1); index < eidx; index++ {
char := text.Get(index) char := text.Get(index)
var class charClass var class charClass
if unicode.IsLower(char) { if unicode.IsLower(char) {

View File

@ -10,14 +10,11 @@ import (
) )
// Max returns the largest integer // Max returns the largest integer
func Max(first int, items ...int) int { func Max(first int, second int) int {
max := first if first >= second {
for _, item := range items { return first
if item > max {
max = item
} }
} return second
return max
} }
// Min returns the smallest integer // Min returns the smallest integer

View File

@ -3,7 +3,7 @@ package util
import "testing" import "testing"
func TestMax(t *testing.T) { func TestMax(t *testing.T) {
if Max(-2, 5, 1, 4, 3) != 5 { if Max(-2, 5) != 5 {
t.Error("Invalid result") t.Error("Invalid result")
} }
} }