Tag: GIL
你可能一直在使用 Python 来进行数据科学原型和数据处理工作,但是当把代码投入实际生产时,你需要一些 C 的变种版本。这是为什么呢?从本质上讲,Python 是单线程的,全局锁(GIL)是主要的罪魁祸首,迫使在启动另一个线程之前需要先等待完成一个线程。最终的效果是生成一个非常棒的解释器,但涉及到大型工作时,它可能比糖浆还慢。 大多数 Python 使用者不知道的是,Python 代码的性能瓶颈已经基本消除,根本不需要改变 Python 代码!您可以获得机器语言般的执行速度,解除 GIL 全局锁,并通过利用由 Intel 创建的一组库和工具来使 Python 几乎可以在每个项目中都利用到多线程和多核的优势。 首先,Intel® Python发行版*(IDP)具有大量的软件包可以帮助加速 Python 代码执行速度,它们通过使用 C 函数将 Python 代码的实际执行完全脱离 Python 层,然后调用处理器向量化和并行化以提高性能并缩短执行时间 – 通常达到许多个数量级。 Intel®线程构建模块(TBB)是 OpenMP 的替代产品,它提供编译后的操作系统代码,以便在用户请求并行时分配工作、保持高速缓存热度并平衡负载。TBB 识别它可以拆分的部分并分配给 2…
The post 用 Python 来生产: 无需重写代码,即可加速运行 appeared first on Education Ecosystem Blog.
...
So, you’ve probably been using Python for prototyping data science and number crunching jobs, but when it comes to putting code into production, you go for some variant of C. Why? Well, by its very…
The post Python for Production: Accelerating Number-crunching without recoding appeared first on Education Ecosystem Blog.
...