admin管理员组

文章数量:1646243

【IT168 编译】Python是一种高效的动态编程语言,广泛应用于科学、工程和数据分析应用领域。使python如此受欢迎的因素有很多,包括其干净的、表达性的语法和标准的数据结构,综合的“内置电池”标准库,优秀的文档,库和工具的广泛生态系统,专业支持的可用性,以及大而开放的社区。不过,也许最重要的原因是,像Python这样的动态类型化的解释语言能够提高生产率。Python足够敏捷与灵活,使它成为快速原型开发的一种伟大语言,同时也是构建完整系统的语言。

但是Python的最大优点也可能是它最大的缺点:它的灵活性和无类型的高级语法会导致数据和计算密集型程序的性能不佳。出于这个原因,关心效率的Python程序员经常在C中重写他们的最内层的循环,并从Python调用编译的C函数。有许多项目旨在简化这种优化,例如Cython,但这往往需要学习一种新的语法。理想情况下,Python程序员希望在不使用另一种编程语言的情况下使其现有的Python代码更快,当然,许多人也希望使用加速器来获得更高的性能。

Numba:高性能计算的高生产率

在这篇文章中,笔者将向你介绍一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码。Python通常不是一种编译语言,你可能想知道为什么要使用Python编译器。答案当然是:运行本地编译的代码要比运行动态的、解译的代码快很多倍。Numba允许你为Python函数指定类型签名,从而在运行时启用编译(这就是“Just-in-Time”,即时,也可以说JIT编译)。Numba动态编译代码的能力意味着你不会因此而抛弃Python

本文标签: 编译器加速器高性能游戏Python