欢迎光临
我们一直在努力

Python vs C++ 极简性能对比

一句话结论:
同样的计算任务,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++ 版(支持 Windows + Linux/macOS)

// cpp_bench.cpp
#include <iostream>
#include <chrono>

#ifdef _WIN32
#include <windows.h>
#include <psapi.h>
void printMemoryUsage() {
PROCESS_MEMORY_COUNTERS pmc;
if (GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc))) {
std::cout << "💾 C++ 内存: " << pmc.WorkingSetSize / 1024.0 / 1024.0 << " MB" << std::endl;
}
}
#else
#include <sys/resource.h>
void printMemoryUsage() {
struct rusage usage;
getrusage(RUSAGE_SELF, &usage);
std::cout << "💾 C++ 内存: " << usage.ru_maxrss / 1024.0 << " MB" << std::endl; // ru_maxrss is in KB on Linux/macOS
}
#endif

int main() {
auto start = std::chrono::high_resolution_clock::now();

long long total = 0;
for (long long i = 0; i < 100'000'000; ++i) {
total += i;
}

auto end = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end start);

std::cout << "🚀 C++ 结果: " << total << std::endl;
std::cout << "⏱️ C++ 耗时: " << duration.count() << " 毫秒" << std::endl;
printMemoryUsage();

return 0;
}

🔧 编译命令:

  • Windows (MSVC):cl /EHsc /std:c++17 cpp_bench.cpp
  • Linux/macOS (GCC/Clang):g++ -O2 -std=c++17 cpp_bench.cpp -o cpp_bench

▶️ 3. 如何运行 & 预期结果

步骤:

  • 保存 Python 代码为 python_bench.py,运行:python python_bench.py
  • 编译 C++ 代码,运行生成的可执行文件。
  • 对比输出!
  • 🎯 典型结果(Intel i7, 16GB RAM):

    🐍 Python 结果: 4999999950000000
    ⏱️ Python 耗时: 4.8231 秒
    💾 Python 内存: 12.45 MB

    🚀 C++ 结果: 4999999950000000
    ⏱️ C++ 耗时: 32 毫秒
    💾 C++ 内存: 1.2 MB

    💥 性能差距:C++ 快 150 倍,内存 少 10 倍!


    💡 总结

    • Python:开发快、写法简单,适合原型、脚本、数据分析。
    • C++:性能极致、资源可控,适合高频交易、游戏引擎、底层工具链。

    ✅ 选对工具,事半功倍!

    赞(0)
    未经允许不得转载:171主机测评 » Python vs C++ 极简性能对比
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址