From 1ad657799ae09d713a5270076525887cced3c772 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Sat, 8 Jul 2023 17:56:33 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E8=B0=83=E6=95=B4=20server.WithBufferS?= =?UTF-8?q?ize=20=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/options.go | 4 ++-- server/server.go | 16 +++++++--------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/server/options.go b/server/options.go index 0d57395..6047665 100644 --- a/server/options.go +++ b/server/options.go @@ -160,12 +160,12 @@ func WithWebsocketMessageType(messageTypes ...int) Option { } // WithMessageBufferSize 通过特定的消息缓冲池大小运行服务器 -// - 默认大小为 4096 * 1024 +// - 默认大小为 1024 // - 消息数量超出这个值的时候,消息处理将会造成更大的开销(频繁创建新的结构体),同时服务器将输出警告内容 func WithMessageBufferSize(size int) Option { return func(srv *Server) { if size <= 0 { - return + size = 1024 } srv.messagePoolSize = size } diff --git a/server/server.go b/server/server.go index 1ba4e5b..a1d973a 100644 --- a/server/server.go +++ b/server/server.go @@ -29,12 +29,13 @@ import ( // New 根据特定网络类型创建一个服务器 func New(network Network, options ...Option) *Server { server := &Server{ - event: &event{}, - runtime: &runtime{}, - option: &option{}, - network: network, - closeChannel: make(chan struct{}, 1), - systemSignal: make(chan os.Signal, 1), + event: &event{}, + runtime: &runtime{}, + option: &option{}, + network: network, + closeChannel: make(chan struct{}, 1), + systemSignal: make(chan os.Signal, 1), + messagePoolSize: 1024, } server.event.Server = server @@ -122,9 +123,6 @@ func (slf *Server) Run(addr string) error { slf.addr = addr var protoAddr = fmt.Sprintf("%s://%s", slf.network, slf.addr) var connectionInitHandle = func(callback func()) { - if slf.messagePoolSize <= 0 { - slf.messagePoolSize = 100 - } slf.messagePool = synchronization.NewPool[*Message](slf.messagePoolSize, func() *Message { return &Message{}