KumoKyaku / kcp

KCP C#版。线程安全,运行时无alloc,对gc无压力。
MIT License
832 stars 136 forks source link

频繁开辟内存的性能问题 #8

Closed andyhebear closed 3 years ago

andyhebear commented 4 years ago

如果服务器端连接1000+客户端,内存开辟耗时问题 比如这样的:
var seg = KcpSegment.AllocHGlobal(size); buffer.Slice(offset, size).CopyTo(seg.data); offset += size; seg.frg = (byte)(count - i - 1); snd_queue.Enqueue(seg); 建议实现 ArraySegment对内存块重复利用

KumoKyaku commented 4 years ago

有测试数据么,或者pr一个测试用例。

KumoKyaku commented 3 years ago

暂时没法解决,除非手动实现内存管理。后面可以考虑暴漏回调函数,将内存分配实现交给有用户,但意义不大……