[perf] Optimize AWK-style tokenizer for --nth

Approx. 50% less memory footprint and 40% improvement in query time
This commit is contained in:
Junegunn Choi
2016-08-14 01:53:06 +09:00
parent 1d4057c209
commit ddc7bb9064
5 changed files with 57 additions and 59 deletions

View File

@@ -111,3 +111,10 @@ func (chars *Chars) ToRunes() []rune {
}
return runes
}
func (chars *Chars) Slice(b int, e int) Chars {
if chars.runes != nil {
return Chars{runes: chars.runes[b:e]}
}
return Chars{bytes: chars.bytes[b:e]}
}