一句话结论: 同样的计算任务,C++ 比 Python 快 10~100 倍,内存占用低 10 倍以上!
📊 1. 核心对比表(一目了然)
| 维度 | 测什么 | Python(脚本语言) | C++(编译语言) | 预期差距 |
|---|---|---|---|---|
| 时间 | 运行速度 | 解释执行,慢 | 编译为机器码,极快 | C++ 快 10~100 倍 |
| 空间 | 内存占用 | 整数是对象,带元数据 | 直接用 long long,无额外开销 | C++ 内存 < 2MB,Python > 10MB |
💻 2. 代码实操(跨平台)
✅ 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
✅ C++ 版
// cpp_bench.cpp
{
PROCESS_MEMORY_COUNTERS pmc;
(((),&pmc,(pmc))){
std::cout << << pmc.WorkingSetSize //<<<< std::endl;
}
}
{
usage;
(RUSAGE_SELF,&usage);
std::cout << << usage.ru_maxrss /<<<< std::endl;
}
{
start = std::chrono::high_resolution_clock::();
total = ;
( i = ; i <;++i){
total += i;
}
end = std::chrono::high_resolution_clock::();
duration = std::chrono::<std::chrono::milliseconds>(end - start);
std::cout << << total << std::endl;
std::cout << << duration.()<<<< std::endl;
();
;
}

