工程化
性能分析与优化
使用 cProfile 定位性能瓶颈
- 使用 cProfile 分析性能
- 常见优化技巧
- 算法复杂度意识
cProfile 性能分析
示例代码(可运行)
Python 0%
常见优化技巧
示例代码(可运行)
Python 0%
时间复杂度
示例代码(可运行)
Python 0%
💡优化原则
先测量再优化,别瞎猜。80%时间花在20%代码上。选对数据结构比微优化重要。可读性优先,要优化再说。
预测输出
print("x" in set([1,2,3]))找 Bug循环里用+=拼字符串,每次都生成新对象,时间复杂度是O(n²)。
result = ""
for word in words:
result = result + word
填空题填写空白处的代码
import cProfile
cProfile.() # 开始分析
选择题
列表in操作的复杂度?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
常见根因:内存泄漏导致 OOM 被系统杀掉、连接/文件句柄没关闭耗尽、事件循环里混入同步阻塞、未捕获异常让进程退出。12-Factor App 的建议很实用:配置环境化、日志当成事件流输出、进程保持无状态(状态放数据库/缓存),这样才能随时加副本做水平扩展。
挑战任务
性能挑战
简单+50 XP
对比不同方法求素数的性能。
性能挑战
Python 0%
2 个测试用例
课后作业
缓存优化
中等+20 XP
用字典缓存斐波那契计算结果。
缓存优化
Python 0%
1 个测试用例