在 Ubuntu 上提升 Python 性能,可以从系统环境、Python 版本、代码层面、并发与并行、数据结构与算法、工具与监控等多个维度入手。下面按实用程度给你一个系统性指南。
Ubuntu 自带 Python 往往较旧,建议安装官方最新版:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.12
✅ Python 3.11+ 官方性能提升明显(比 3.10 快 10–25%)
如果你的程序是 CPU 密集型 + 纯 Python:
sudo apt install pypy3
pypy3 your_script.py
✅ PyPy 对循环、数值计算提升显著
❌ 不适合大量 C 扩展(如 numpy、pandas)
python3 -m venv venv
source venv/bin/activate
保持依赖精简,避免大型库拖慢启动速度。
✅ 更快、更少内存
# 慢
for i in range(len(lst)):
print(lst[i])
# 快
for x in lst:
print(x)
✅ 常用优化点:
map() / filter()sum() / min() / max()collections.defaultdictitertools# 慢
"".join([str(i) for i in range(1000)])
# 快
"".join(str(i) for i in range(1000))
def func():
local = global_var
from multiprocessing import Pool
def f(x):
return x * x
with Pool(4) as p:
print(p.map(f, range(10)))
✅ 适合:
import asyncio
async def task():
await asyncio.sleep(1)
asyncio.run(task())
✅ 适合:
| 场景 | 推荐 |
|---|---|
| JSON | orjson、ujson |
| HTTP | httpx、aiohttp |
| 正则 | regex |
| 字符串 | bytes / bytearray |
from numba import njit
@njit
def f(x):
return x + 1
✅ 接近 C 速度
✅ 适合循环、数学计算
# example.pyx
def f(int x):
return x * 2
✅ 适合长期维护的高性能模块
__pycache__ 与编译python -m py_compile your_script.py
ulimit -n 65535
适合高并发服务(如 Web 后端)
syncimport logging
logging.disable(logging.CRITICAL)
python -m cProfile your_script.py
pip install line_profiler
pip install memory_profiler
| 场景 | 推荐 |
|---|---|
| Web API | asyncio + uvloop |
| 数据分析 | numpy + pandas |
| 计算密集 | multiprocessing / numba |
| 高并发 | asyncio + pypy(IO) |
如果你愿意,可以告诉我:
我可以给你针对性的优化方案甚至改代码。