修改了一下append多个元素的代码,貌似对快慢没啥影响

This commit is contained in:
a92126 2025-03-20 16:56:51 +08:00
parent 4d952f6a82
commit c0a10148b4

View File

@ -8,6 +8,7 @@ import (
"strings"
"bytes"
"sort"
"time"
)
type Serial struct {
@ -225,9 +226,7 @@ func lade(locks []Lock, serial string, order string) Packed {
var ut_push = func(tr []byte) uint16 {
off := len(strtable)
for _, v := range tr {
strtable = append(strtable, v)
}
strtable = append(strtable, tr...)
strtable = append(strtable, 0)
return uint16(off)
}
@ -238,7 +237,6 @@ func lade(locks []Lock, serial string, order string) Packed {
idx := find_index(strtable, []byte(tr))
var off uint16
if idx < 0 { off = ut_push([]byte(tr)) } else { off = uint16(idx) }
//uint16(idx < 0 ? ut_push([]byte(tr)) : idx)
strcache[tr] = off
return off
}
@ -258,16 +256,12 @@ func lade(locks []Lock, serial string, order string) Packed {
}
retval := uint16(len(idxtable))
for _, v := range list {
idxtable = append(idxtable, v)
}
idxtable = append(idxtable, list...)
return retval*2
}
var add_command = func(list []uint32) uint32 {
retval := len(cmdtable)
for _, v := range list {
cmdtable = append(cmdtable, v)
}
cmdtable = append(cmdtable, list...)
return uint32(retval*4)
}
@ -640,6 +634,7 @@ func format( cheats []Cheat ) []byte {
}
func main() {
begin := time.Now()
list, err := loadlist()
if err != nil {
fmt.Println(err)
@ -647,7 +642,7 @@ func main() {
}
roms := transform(list)
fmt.Println("all rom has", len(roms))
fmt.Println("all rom has", len(roms), time.Now().Sub(begin).Milliseconds())
idx := make(map[string][]Packed, 0)
for _, rom := range roms {