作为一名软件工程专业的本科生,我过去主要使用 Python 和 JavaScript 等语言。它们简单、高效,非常适合快速构建应用程序。
但最近,我不断听到关于 Rust 的讨论——这是一门以高性能、安全性著称,且在工业界越来越受欢迎的语言。
于是,我决定亲自上手体验一下。
相比于仅仅停留在阅读文档,我更希望在一个真实的场景中测试它,并与我已经熟悉的 Python 进行对比。

Rust 通常被描述为:
- 一门系统级编程语言
- 与 C/C++ 一样快
- 没有垃圾回收器却能保证内存安全
这听起来非常强大——但也让人有些望而生畏 😅
作为一个初学者,我很好奇:
在实际应用中,Rust 真的比 Python 快吗?
为了验证这一点,我用这两种语言分别编写了一个简单的程序。
任务:统计一个大文本文件中的单词数量。
两者的逻辑完全一致:
- 读取文件
- 将文本拆分为单词
- 统计单词数量
- 测量执行时间
Python 代码非常简单且易于理解:
import time
start = time.time()
with open("../data/sample.txt", "r", encoding="utf-8") as file:
text = file.read()
words = text.split()
count = len(words)
end = time.time()
print("Word count:", count)
print("Execution time:", end - start, "seconds")

👉 我的感受:
Rust 的代码则稍微复杂一些:
use std::fs;
use std::time::Instant;
fn main() {
let start = Instant::now();
let contents = fs::read_to_string("../../data/sample.txt")
.expect("Should have been able to read the file");
let words: Vec<&str> = contents.split_whitespace().collect();
let count = words.len();
let duration = start.elapsed();
println!("Word count: {}", count);
println!("Time taken: {:?}", duration);
}

👉 初步印象:
- 语法更加严格
- 理解起来稍有难度
- 遇到了像 Vec<&str> 和 expect() 这样的新概念
以下是我的实验结果:
|
|---|
| 语言/模式 | 执行时间 |
| Python | ~0.73 秒 |
| Rust (debug) | ~1.5 秒 |
| Rust (release) | ~116.08 毫秒 |
Output from Python
Output from Rust
起初,我以为 Rust 比 Python 还要慢。但随后我了解到了一个关键点:
👉 使用 cargo run 运行 Rust 时,默认使用的是 debug 模式,该模式并未进行性能优化。
👉 当我改用 cargo run --release 时,性能得到了显著提升。
经过适当的优化后,在这项任务中 Rust 的表现远超 Python。
Python 的代码风格更简单,对初学者非常友好。
Rust 强制你编写更安全、更高效的代码。
在 Rust 中,debug 模式和 release 模式之间的性能差异是巨大的。
作为一个初学者,Rust 一开始让我觉得有些挑战:
- 理解其语法规则
- 处理文件路径问题
- 阅读编译器的报错信息
但与此同时,我意识到一个有趣的现象:
Rust 不会让你轻易写出糟糕的代码。
而这实际上是一件好事。
Rust 并不是一门最容易学习的语言——尤其是与 Python 相比。但它提供了:
- 极高的性能
- 内存安全保障
- 对程序运行方式的更细粒度控制
作为一名软件工程专业的学生,学习 Rust 就像是一项投资,它能帮助你深入理解底层运作原理。
我的 Rust 学习之旅才刚刚开始,但这次实验清晰地向我证明了一件事:
Rust 值得学习。