优化gc性能

This commit is contained in:
bjdgyc
2021-05-29 17:31:41 +08:00
parent af6f87ee0f
commit 0512ce197a
6 changed files with 106 additions and 36 deletions

View File

@@ -33,7 +33,8 @@ func LinkCstp(conn net.Conn, cSess *sessdata.ConnSession) {
base.Error("SetDeadline: ", err)
return
}
hdata := make([]byte, BufferSize)
// hdata := make([]byte, BufferSize)
hdata := getByteFull()
n, err = conn.Read(hdata)
if err != nil {
base.Error("read hdata: ", err)
@@ -65,8 +66,9 @@ func LinkCstp(conn net.Conn, cSess *sessdata.ConnSession) {
if payloadIn(cSess, sessdata.LTypeIPData, 0x00, hdata[8:8+dataLen]) {
return
}
}
putByte(hdata)
}
}
@@ -78,9 +80,9 @@ func cstpWrite(conn net.Conn, cSess *sessdata.ConnSession) {
}()
var (
err error
n int
header []byte
err error
n int
// header []byte
payload *sessdata.Payload
)
@@ -95,7 +97,9 @@ func cstpWrite(conn net.Conn, cSess *sessdata.ConnSession) {
continue
}
header = []byte{'S', 'T', 'F', 0x01, 0x00, 0x00, payload.PType, 0x00}
h := []byte{'S', 'T', 'F', 0x01, 0x00, 0x00, payload.PType, 0x00}
header := getByteZero()
header = append(header, h...)
if payload.PType == 0x00 { // data
binary.BigEndian.PutUint16(header[4:6], uint16(len(payload.Data)))
header = append(header, payload.Data...)
@@ -106,6 +110,9 @@ func cstpWrite(conn net.Conn, cSess *sessdata.ConnSession) {
return
}
putByte(header)
putPayload(payload)
// 限流设置
err = cSess.RateLimit(n, false)
if err != nil {