zoukankan      html  css  js  c++  java
  • python高级编程

    Python的GIL会阻止python代码同时在多个CPU上运行。为了实现并发,我们可以使用不受限于GIL的模块开发,

    对于计算密集型程序来说,可以使用multiprocessing模块实现并发;对于I/O密集型程序来说,既可以使用multiprocessing,也可以使用threading或concurrent.futures模块来实现并发。

    过于接近底层的并发的API容易导致错误,为了避免这一点,可以不使用显式锁(explicit lock)而使用python的quue及multiprocessing模块,这些模块提供了封装程度高的队列结构,另一方面也可以使用concurrent.futures。

    增强性能:

    使用pypy这款jit编译器给python加速;

    使用C语言写成的模块,如array和numpy来处理数组;

    使用cProfile来分析性能瓶颈;

    对于已经又C/C++实现好了的或是任何符合“C语言调用约定”(c calling convention)的模块,可以从pypi.python.org找到它们;

    以上的模块在pypi找不到时,可以用ctypes模块或者第三方Cython包来调用C程序库;

  • 相关阅读:
    ASP.NET连接各种数据库办法
    随机生成中文验证码
    数据库进阶
    mysql数据库
    shell 系统学习
    redis 常见问题
    Linux下Nginx服务Rewrite和Proxy_Pass
    python 开发之路(2)
    shell 基础及提高
    mysql数据库和表物理内存
  • 原文地址:https://www.cnblogs.com/autoria/p/5619856.html
Copyright © 2011-2022 走看看