惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
GRAHAM CLULEY
V
V2EX
WordPress大学
WordPress大学
博客园 - Franky
Last Week in AI
Last Week in AI
博客园 - 司徒正美
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
V
Visual Studio Blog
C
CERT Recently Published Vulnerability Notes
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
腾讯CDC
The Hacker News
The Hacker News
Hugging Face - Blog
Hugging Face - Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
A
Arctic Wolf
量子位
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
雷峰网
雷峰网
博客园_首页
Google Online Security Blog
Google Online Security Blog
Spread Privacy
Spread Privacy
罗磊的独立博客
H
Hacker News: Front Page
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
TaoSecurity Blog
TaoSecurity Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
IT之家
IT之家
The Cloudflare Blog
爱范儿
爱范儿
博客园 - 叶小钗
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell

Rust

RustScript: 给你的 Rust 项目带来脚本化功能 - V2EX RUST 语法极其丑陋 - V2EX 一款跑在终端里的本地优先密码管理器,用全屏 TUI 管理账号、密钥和安全笔记。 - V2EX 如何理解 rust 闭包的借用值机制? 被借用的值在闭包内到底是什么类型? [开源] Best of RS - 一个由 Rust 编写的追踪 Rust 开源趋势的全栈 web 项目 - V2EX Rust 真是非常适合 AI vibe coding 的语言 - V2EX Pumpkin - 使用 Rust 开发的高性能 Minecraft 服务端 - V2EX 开源这两天 Vibe 的 Rust 重写的 OpenClaw - V2EX 用 rust 写了一个非常简单的局域网文本同步的小玩意 - V2EX [寻求帮助 Linux ] 用 rust 写了一个跨平台输入监听库(鼠标键盘) - V2EX Contributions to Rust and LLVM in 2025 - V2EX Linux 内核中的 rust - V2EX 2025 年度 Rust 语言社区调查 已经发布 - V2EX rust 让我抓狂、擦汗 - V2EX 推荐一款我写的动态配置语言: Faml - V2EX 如何看待 Rust? - V2EX Rust Web 开发脚手架 v0.6 发布啦! - V2EX rathole 这个项目是不维护了吗? 之前那个 rust 贡献大佬找到工作了,找他的团队还不少 - V2EX 介绍一个 like rails 的 rust 框架。 性能和开发速度都快。 - V2EX 除了写小工具外再也不想用 Rust 了 - V2EX rust 我想你了 - V2EX rust 程序员的硬盘是多大的? nodejs 继任者? - V2EX rust 练手写的,仿 uv 包管理器 av - V2EX Rust 的安全神话?为何在关键系统如数据库、大模型代码中仍选 C++ rust 实现的抓包存盘的程序 nsave 有人使用 Rust 重构过旧项目吗? - V2EX 使用 WebAssembly 构建的高性能在线计算工具 V2EX tikio 里面的代码怎么调试呢 有人在用 rust 写 web api 吗? rust 来得快去得也快 - V2EX rust 的有没有什么好的论坛? - V2EX 这里搞 Rust 的多吗? - V2EX 目前 Rust 最好的开发工具是哪个? - V2EX rust 编译报错函数重复定义 - V2EX Rust 学习几个月之后,真正要自己写的时候就懵逼 - V2EX 关于 rust axum 中使用 gprc 的一个疑惑 - V2EX std::net::UdpSocket 的 shutdown 机制是我理解出了问题么? - V2EX 写了一个从 modelscope 下载模型的 crate - V2EX 看到这样的 rust 代码要懵逼了,不知道咋入手,求指导 - V2EX Rust 两次入门后,尝试写一个 web 项目,懵逼中~ - V2EX 求帮打包个 exe - V2EX Rust HTTP Client, Golang tls-client/utls 的完美替代品 - V2EX Rust 编写的高性能 HTTP/HTTPS/SOCKS5 代理服务器 - V2EX Rust API 开发脚手架 - V2EX FnOne 特征是至少调用一次还是只能调用一次? - V2EX 大佬们,一人来一道 Rust 面试题,准备年后跳槽 - V2EX 请教 rust 如何做到交叉编译 - V2EX 理了一下手上惯用的一些命令行小工具,发现蛮多是 rust 写的。是不是 rust 也适合做这种小工具 - V2EX rust 怎么不通过管理员权限的情况下拿到 windows 用户所有的 uwp 应用名称,图标和路径 - V2EX 统计下放弃 RUST 的人的数量=== - V2EX 关于 Rust 所有权,如果对 mut 变量进行嵌套 mut 引用该怎么理解?
太快了! Rust 太快了! - V2EX
cKnight · 2025-09-18 · via Rust

1. 背景

LZ 是一名在职的 Java boy ,花了上周一周的时间入门了 Rust 。周末使用 axum 写了个 web 项目,模拟了 SpringMVC 的架构。

2. 对比

均在我 mac 笔记本中进行测试

2.1 占用资源

这里可能不太公平。
Java 项目用了我之前的开源项目,虽然是个完整的项目但是也不是很大。没有打包成 jar ,使用 idea 启动,通过活动检测器根据 pid 查找发现占用内存494.2MB,JVM 配置:-Xms256m -Xmx4g 。
Rust 启动后发现内存占用为 2.0MB!!! 我人都傻了,虽然说是个很简单的项目,但是项目中必要的功能都有。

2.2 压测

为了进一步的看到差距,我开始了压测,代码如下。为了减少变量,没有加入 IO 操作,但也是正常的业务功能。
JAVA

      @Override
    public AiUserVO loginTest(AiUserReq userReq) {
        CommonUtils.checkArgs(userReq.getAccountNo(),userReq.getPassword());
        AiUser user = AiUser.builder().accountNo("admin").password("admin").name("admin").build();
        user.setId(1941040891798581249L);
        //校验登录
//        checkLogin(user,userReq);
        AiUserVO result = ConvertUtils.beanProcess(user, AiUserVO.class);
        //处理用户角色
//        processUserRole(user,result);
        //生成 token
        String token = genToken(user);
        result.setToken(token);
        //放入 redis
        String key = CacheKeyEnum.format(CacheKeyEnum.ADMIN_LOGIN_KEY,user.getId(),token);
        SysCacheUserDto sysCacheUserDto = ConvertUtils.beanProcess(result, SysCacheUserDto.class);
        //删除原始 token
//        removeToken(user.getId());
//        redisCacheComponent.set(key,JSONObject.toJSONString(sysCacheUserDto),TimeConstant.ONE_DAY * 12);
        return result;
    }

RUST

pub async fn login(user:UserReq)->Res<UserVO> {
    // 查询逻辑
    let user_do = match query_user(&user.account_no, &user.password).await {
        Some(user_do) => user_do,
        None => return Res::build(FAIL),
    };
    let mut user_vo:UserVO = user_do.into();
    //加密
    let token = match security_utils::aes_encrypt(&user_vo.id.to_string()) {
        Ok(token) => token,
        Err(_) => return Res::build(FAIL),
    };
    user_vo.token = token;
    let key = SYSTEM_USER.key().format(&[&user_vo.id.to_string()]);
    //删除缓存
    GlobalCache::del(&key);
    //放入缓存
    GlobalCache::set(key,serde_json::to_string(&user_vo).unwrap());
    Res::success(user_vo)
}

/**
 * 查询用户
 */
async fn query_user(account_no:&str,pwd:&str)->Option<UserDO> {
    let user = UserDO{
        id:1912753992656158721,
        name:"admin".to_string(),
        account_no:"admin".to_string(),
        status:true,
    };
    Some(user)
}

压测配置如下

Name: 线程组-30
Number of Threads: 200
Ramp-Up Period: 30 
Loop Count: 1
Scheduler:
  Duration: 90

Name: 线程组-90
Number of Threads: 200
Ramp-Up Period: 30   
Loop Count: 1
Scheduler:
  Startup Delay: 90
  Duration: 90

压测流程如下

阶段一:0~30 秒启动 200 线程 → 持续到第 90 秒
阶段二:从第 90 秒开始,30 秒内启动 300 线程 → 持续到第 180 秒

压测结果对比如下

指标 RUST JAVA 差异
平均响应时间 3~4 ms 6~8 ms ↑ 上升 50%~100%
最大响应时间 17 ms 26 ms ↑ 上升 53%
99% 百分位 11~15 ms 15~20 ms ↑ 上升 30%~45%
吞吐量 6.7 → 10.0 req/sec 6.7 → 10.0 req/sec ✅ 相同
异常率 0% 0% ✅ 相同
数据包大小 294 B 489 B ↑ 增加 66%