V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
xmagicer
V2EX  ›  C#

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

  •  1
     
  •   xmagicer · May 18, 2024 · 3930 views
    This topic created in 711 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   ·   2750 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 11:03 · PVG 19:03 · LAX 04:03 · JFK 07:03
    ♥ Do have faith in what you're doing.