### **JIT(即时编译)** JIT(Just-In-Time Compilation,即时编译)是一种在程序运行时将代码编译为机器码的技术。与传统的 **AOT(Ahead-Of-Time Compilation,提前编译)** 不同,JIT 在程序执行过程中动态编译代码,从而结合了解释型语言的灵活性和编译型语言的性能优势。 JIT 跨平台,生成适合当前平台的机器码。 JIT 的工作原理:**解释执行**:程序开始时,代码以解释方式执行(逐行解释字节码)。 **热点检测**:JIT 编译器监控代码执行,识别频繁执行的代码段(称为“热点”)。 **动态编译**:将热点代码编译为机器码,后续执行直接运行机器码,避免解释执行的开销。 **优化**:JIT 编译器可以根据运行时信息进行优化(如内联函数、消除死代码)。 在 Python 中利用 JIT 加速的方法包括: - **PyPy**:通用的 Python 实现,适合大多数场景。pypy your_script.py - **Numba**:专注于数值计算,适合科学计算和数据分析。用 `@jit` 装饰器标记需要加速的函数。 - **Cython**:将 Python 代码编译为 C 代码,适合需要极致性能的场景。支持 JIT 和 AOT 编译 。 - **Taichi**:专注于高性能计算,适合图形学、物理仿真等领域。 ### 碎片 - 网络系统常用架构 :服务端用线程池,客户端用 asynico - 异步 - 分布式方法:celery ,不用自己造车 ( lzuDataFactory )!!! - thread模块是比较底层的模块,threading模块对thread做了一些包装