1
0
mirror of https://github.com/fumiama/jieba.git synced 2026-06-27 07:30:32 +08:00

code refactor, use uint for map key to improve performance

This commit is contained in:
Wang Bin
2015-04-06 20:24:07 +08:00
parent 17ab0b2cc7
commit b19eb4f6fe
7 changed files with 7833 additions and 85637 deletions

View File

@@ -4,38 +4,60 @@ import (
"testing"
)
var (
route1 = []string{
"Bnr",
"Mnr",
"Enr",
"Sv",
"Bv",
"Ev",
"Bn",
"Mn",
"En",
"Sd",
"Sv",
"Sn",
"Bv",
"Ev",
"Bnr",
"Mnr",
"Mnr",
"Mnr",
"Enr",
"Szg"}
)
var defaultRoute []Tag
func init() {
var t Tag
t, _ = NewTag("B", "nr")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("M", "nr")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("E", "nr")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("S", "v")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("B", "v")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("E", "v")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("B", "n")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("M", "n")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("E", "n")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("S", "d")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("S", "v")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("S", "n")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("B", "v")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("E", "v")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("B", "nr")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("M", "nr")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("M", "nr")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("M", "nr")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("E", "nr")
defaultRoute = append(defaultRoute, t)
t, _ = NewTag("S", "zg")
defaultRoute = append(defaultRoute, t)
}
func TestViterbi(t *testing.T) {
ss := "李小福是创新办主任也是云计算方面的专家;"
route := viterbi([]rune(ss))
if len(route) != len(route1) {
if len(route) != len(defaultRoute) {
t.Fatal(len(route))
}
for index, _ := range route {
if route[index] != route1[index] {
for index := range route {
if route[index] != defaultRoute[index] {
t.Fatal(route[index])
}
}