前置:这个主要内容是手动编辑的。
仓库:fib
nbio 是以前手搓的,没有精力去手搓支持 HTTP 2/3,它已经不值一提、被我放弃。
fib 的几乎所有代码都由 Claude 生成。支持 TLS、HTTP 1/2/3 和 WebSocket,性能基本超过了几乎所有之前的 Go 库。
在 GitHub Actions CI 的 benchmark 中,fib 在一些场景下比标准库高出几倍的吞吐量并且内存占用更低,性能也基本比 fasthttp、fiber、herz 那些以性能著称的库更好。 与 C/C++/Rust 的一些库相比,fib 的性能也可以做到更加接近甚至超越,在某些情况下比如 Pipeline/Multiplex,得益于良好的背压机制优化,fib 甚至大幅领先一些 C/C++/Rust 库、成倍领先 Golang 其他库。
当然,不同的硬件规格、测试参数和框架配置可能会导致不同的结果。欢迎有兴趣的大佬们在自己的机器上运行这些基准测试。
更多详情:
https://github.com/lesismal/fib/blob/main/docs/blog/introducing-fib.zh-CN.md
https://github.com/lesismal/fib/blob/main/docs/blog/introducing-fib.md
各协议的完整基准测试代码:
https://github.com/lesismal/go-tls-benchmark
https://github.com/lesismal/go-http1-benchmark
https://github.com/lesismal/go-http2-benchmark