一句话结论: 同样的计算任务里,C++ 通常会比 Python 快一个数量级,内存占用也更低。具体到这个例子,差距很容易落到 10~100 倍这个区间;如果循环足够重,甚至更夸张。
1. 先看结论背后的原因
Python 和 C++ 的差别,不在语法花活,而在执行方式。
Python 运行时要解释执行,循环里的每一步都有额外开销;C++ 先编译成机器码,跑起来更接近硬件。对这种'纯算术、重复很多次'的任务,语言本身的运行模型就会把差距拉开。
内存也是一样。Python 里的整数是对象,除了数值本身,还带着对象头和引用管理;C++ 里直接用 long long 就行,路径更短,开销也更直接。
2. 对比表
| 维度 | 测什么 | Python(脚本语言) | C++(编译语言) | 结果倾向 |
|---|---|---|---|---|
| 时间 | 运行速度 | 解释执行,循环开销高 | 编译为机器码,执行更直接 | C++ 往往快 10~100 倍 |
| 空间 | 内存占用 | 整数是对象,带元数据 | 直接用 long long,额外开销少 | C++ 通常更省内存 |
3. 代码实操
Python 版
# python_bench.py
import time
import psutil
import os
start_time = time.time()
# 计算 0 + 1 + 2 + ... + 99,999,999
total = 0
for i in range(100_000_000):
total += i
end_time = time.time()
# 获取内存(MB)
process = psutil.Process(os.getpid())
memory_mb = process.memory_info().rss / 1024 / 1024
print(f"🐍 Python 结果:{total}")
print(f"⏱️ Python 耗时:{end_time - start_time:.4f} 秒")
print(f"💾 Python 内存:{memory_mb:.2f} MB")
依赖先装一下:pip install psutil

