减少循环开销:将循环中不变的变量移至循环外(如expensive_result = expensive_calculation(),再在循环中使用);避免在循环中频繁调用函数(如将len(list)提到循环外);用列表推导式或生成器表达式代替显式循环(如[x**2 for x in range(1000)]比for循环更快)。
使用Cython编译关键代码:将Python代码转换为C扩展,绕过解释器限制。步骤:编写.pyx文件(如my_module.pyx,包含def my_function(int a, int b): return a + b);创建setup.py(from setuptools import setup; from Cython.Build import cythonize; setup(ext_modules=cythonize("my_module.pyx")));编译(python3 setup.py build_ext --inplace),生成.so文件后可直接导入使用。
多进程(CPU密集型任务):用multiprocessing库创建多个进程(每个进程有独立的GIL),绕过GIL限制。示例:from multiprocessing import Process; def worker(): ...; processes = [Process(target=worker) for _ in range(4)]; for p in processes: p.start(); for p in processes: p.join(),充分利用多核CPU。