⬅️ / ➡️ / 滑动鼠标滚轮
✨ v0.1.0 正式发布

grweb:
Go 风格并发,Rust 极致性能

一个轻量级、高性能的 Web 框架,将 Go 语言的并发模型与 Rust 的零成本抽象完美结合。 体验 M:N 协程调度带来的极致性能。

⭐ GitHub 仓库 📦 crates.io 📖 文档
0
QPS
requests/sec
0
延迟 (平均)
microseconds
0
吞吐量
MB/s
0
稳定度
高负载下

* 测试环境: 4 线程, 100 连接, wrk 压测, 响应大小约 4.3KB (Keep-Alive 开启)

为什么选择 grweb?

110k QPS 真实性能
实测超越 Tokio/hyper,吞吐量碾压 Go/Java/Node.js。
🎯
M:N 协程调度
用户态轻量级任务,工作窃取算法实现自动负载均衡。
🔗
Channel 通信
类 Go 的 channel,安全高效的协程间消息传递。
💾
极低内存占用
基础运行时内存仅 ~3MB,适合容器化部署。
🔁
HTTP Keep-Alive
连接复用,吞吐量提升 6 倍,减少 TCP 握手开销。
🦀
100% Rust
内存安全,零成本抽象,无畏并发。

📄 代码示例

use grweb::{Server, Router, Response};

fn main() {
    let mut router = Router::new();
    
    router.get("/", |_| {
        Response::html("<h1>Hello grweb!</h1><p>高性能 Web 框架</p>")
    });
    
    router.get("/hello/:name", |ctx| {
        let name = ctx.param("name").unwrap_or("World");
        Response::json(&format!(r#"{{"message": "Hello, {}!"}}"#, name))
    });
    
    Server::new(router).run(":8080").unwrap();
}

与世界主流框架对比

框架QPS平均延迟吞吐量内存占用
✨ grweb110,0381.24 ms483 MB/s~3 MB
Rust (Actix-Web)~100,000~1.50 ms~100 MB/s~8 MB
Go (net/http)~48,000~2.50 ms~50 MB/s~25 MB
Java (Spring Boot)~38,000~3.50 ms~40 MB/s~150 MB
Node.js (Express)~18,000~8.00 ms~20 MB/s~50 MB

* 数据基于相同硬件环境测试,grweb 开启 Keep-Alive

🚀 快速开始

# 添加依赖
cargo add grweb

# 创建项目
cargo new my_grweb_app
cd my_grweb_app

# 运行示例
cargo run --example simple_server

❤️ 用 Rust 实现 Go 的并发梦想 | grweb - 开源 · 高性能 · 现代化

⭐ 如果喜欢这个项目,欢迎给个 Star!