KumoKyaku / kcp

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

非托管的GC表现如何?可以做到0GC吗? #28

Closed InMyBload closed 1 year ago

KumoKyaku commented 1 year ago

发送接受数据时是0gc allocate的。 创建kcp对象什么的,内部数据结构什么的,还是要分配一点的。

InMyBload commented 1 year ago

发送接受数据时是0gc allocate的。 创建kcp对象什么的,内部数据结构什么的,还是要分配一点的。

和C版 相比 性能 差距大吗

YYHEggEgg commented 1 year ago

和C版 相比 性能 差距大吗

上层封装设计合理应该没问题吧。自己用的协议栈测试下来还是很出色的,虽然没有做过 C/C++ 的等价实现,但个人认为只要你用 C# 那么比 PInvoke + 一堆锁好使是很有把握的(锁争抢的厉害还有吃 CPU 的问题)。

KumoKyaku commented 1 year ago

发送接受数据时是0gc allocate的。 创建kcp对象什么的,内部数据结构什么的,还是要分配一点的。

和C版 相比 性能 差距大吗

没做过性能测试。 应该差距不大的。