xmagicer
V2EX  ›  C#

C#有像 C++的 libevent 同样定位的高性能跨平台网络库吗?

  •  1
     
  •   xmagicer · May 18, 2024 · 3987 views
    This topic created in 732 days ago, the information mentioned may be changed or developed.
    5 replies    2024-06-06 20:09:49 +08:00
    wanguorui123
        1
    wanguorui123  
       May 18, 2024
    HP-Socket
    xmagicer
        3
    xmagicer  
    OP
       May 19, 2024
    看了下 runtime 的源码,看起来是内置就支持 iocp 和 epoll 的
    INCerry
        4
    INCerry  
       May 31, 2024
    其实 C#本身自带的库就是高性能的,在 ASP.NET Core 2.0 以前,还是用的 libuv ,后面完全使用.NET 自带的了。
    另外要是不想用自带的,C++的库导出以后,也是可以直接在 C#中使用的。
    nebkad
        5
    nebkad  
       Jun 6, 2024
    用 C# 写网络应用,性能瓶颈不在于跨平台异步框架设计带来的 IO 开销,因为实际上都是直接利用底层 OS API (例如 epoll iocp kqueue 等等)提供的支持,也就是说做到了别的语言最多只能一样快。

    性能瓶颈在于一些 corner case 下,GC 阻碍了资源(不仅仅是内存,还有内存上面你写的对象)的及时释放而导致的奇怪问题。尽管有 `IDisposable` 但还是会写得很痛苦,心智负担很高。

    但如果你只是原型开发、快速开发简单业务,那么 C# 可以搞一搞。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4434 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 05:34 · PVG 13:34 · LAX 22:34 · JFK 01:34
    ♥ Do have faith in what you're doing.