V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xmagicer
V2EX  ›  C#

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

  •  1
     
  •   xmagicer · 222 天前 · 1813 次点击
    这是一个创建于 222 天前的主题,其中的信息可能已经有所发展或是发生改变。
    5 条回复    2024-06-06 20:09:49 +08:00
    wanguorui123
        1
    wanguorui123  
       221 天前
    HP-Socket
    xmagicer
        3
    xmagicer  
    OP
       221 天前
    看了下 runtime 的源码,看起来是内置就支持 iocp 和 epoll 的
    INCerry
        4
    INCerry  
       209 天前
    其实 C#本身自带的库就是高性能的,在 ASP.NET Core 2.0 以前,还是用的 libuv ,后面完全使用.NET 自带的了。
    另外要是不想用自带的,C++的库导出以后,也是可以直接在 C#中使用的。
    nebkad
        5
    nebkad  
       202 天前
    用 C# 写网络应用,性能瓶颈不在于跨平台异步框架设计带来的 IO 开销,因为实际上都是直接利用底层 OS API (例如 epoll iocp kqueue 等等)提供的支持,也就是说做到了别的语言最多只能一样快。

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

    但如果你只是原型开发、快速开发简单业务,那么 C# 可以搞一搞。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3226 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.