python3.7怎么下载
Python 的运行速度快吗?虽说不同场景不同定论,但整体而言,它没有 C、Java 快。这也导致 Python 凭借可读性、简单易上手、良好的生态系统横行 AI 领域时,一提到速度,就成为众多开发者头疼的问题。
为了解决这一难题,麻省理工学院的计算机科学家出手了,他们共同研发了一种名为 Codon 的 Python 编译器,可以将 Python 代码转化为本地机器代码,而不会对运行时的性能产生影响。
当前,Codon 已经在 GitHub 上开源:https://github.com/exaloop/codon,斩获 6300 个 Star。
Codon 与 C/C++ 性能相当
"在单线程上,比 Python 的典型速度提高了 10-100 倍或更多,"Codon repo写道,"Codon 的性能通常与 C/C++ 的性能相当(有时甚至更好)。"
与 Python 不同的是,Codon 支持本地多线程,这可以使速度提高许多倍。
Codon 最初是作为一个在 Python 中创建高性能特定领域语言(DSL,domain-specific language)的框架而开发的。DSL 是专注于特定目的的语言,而不是像 Python 或 C 这样的通用编程语言。
据官方 GitHub repo 透露,Codon 源于 Seq 项目,后者是一个用于生物信息学和遗传学的 DSL,现如今它已经成长为一个与 Python 3 基本兼容的语言编译器。
近期,外媒 The Register 通过该工具的研究团队内部最新分享了一个关于 Codon 的论文。本论文的作者包含了,MIT、维多利亚大学等多名研究人员,如 Ariya Shajii(Exaloop)、Gabriel Ramirez(MIT CSAIL)、Haris Smajlović(加拿大维多利亚大学)、Jessica Ray(MIT CSAIL)、Bonnie Berger(MIT CSAIL)、Saman Amarasinghe(MIT CSAIL)和 Ibrahim Numanagić(维多利亚大学)。
这篇论文指出,"与其他面向性能的 Python 实现(如 PyPy 或 Numba)不同,Codon 是作为一个独立的系统从头开始构建的,它可以提前编译为静态可执行文件,并且不与现有的 Python 运行时(如 CPython 或 RPython)绑定执行。因此,Codon 可以实现更好的性能,并克服运行时的特定问题,如全局解释器锁"。
在论文中,作者也讨论了各种基于 Codon 的高性能 DSL,这些 DSL 设计用于生物信息学、数据压缩和并行编程,也利用了 Codon 的编译器基础设施。但是 Codon 可以大幅加速标准的 Python 程序,尽管那些依赖外部库(如 Django 或 DocUtils)的程序必须依赖 CPython 桥接,这就限制了 CPython 的性能。
"Codon 不需要使用像 numpy 这样的 C 语言实现的库来重写程序,也不需要完全用 C 语言重写,而是可以使用相同的 Python 实现,并给出你用 C 语言重写的相同性能",麻省理工学院教授和 CSAIL 首席研究员 Saman Amarasinghe说 道,"因此,我相信 Codon 是成功的 Python 应用程序的最简单的前进道路,这些应用程序由于缺乏性能而达到了一个极限。"
测试
那么 Codon 是否真的如说的那样快?在 Codon 论坛上,一位开发者进行了测试:
$ cat fib.py def fib(n): if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2)if __name__ == "__main__": import sys print(fib(int(sys.argv[1])))CPython 3.11
$ python fib.py 40102334155# mem: 8'816_KB# time: 18.42_sPyPy 7.3.9
$ pypy fib.py 40102334155# mem: 74'596_kB# time: 4.99_s# ~= 3.7xCodon compiled$ codon build -release fib.py$ ./fib 40102334155# mem: 5'612_kB# time: 0.26_s# ~= 70.8xCodon with python interpreter
# in fibpy.py, we just add `@python` decorator to fib function$ codon build -release fibpy.pyexport CODON_PYTHON=/path/to/libpython3.11.so$ ./fibpy 40102334155# mem: 12'828# time: 18.49# ~= 1x最终发现,一个简单的 Codon 编译的斐波那契脚本比 CPython 版本快 70 多倍。
除此之外,该研究团队也在 GitHub 上贴出了 Codon 基准测试套件的结果,比较了 Python、PyPy、C++ 和 Codon 在一系列任务和应用上的表现。该基准测试是在以下设置上运行的:
最终结果如下所示:
据 Codon 官方文档显示,虽然 Codon 的语法和语义与 Python 的几乎相同,但还是有一些值得一提的区别,如数据类型方面:
整数。Codon 的 int 是一个 64 位有符号的整数,而 Python 的(在版本 3 之后)可以是任意大的。然而 Codon 通过 Int[N] 支持更大的整数,其中 N 是位宽。
字符串。Codon 目前使用 ASCII 字符串,与 Python 的 unicode 字符串不同。
字典。Codon 的字典类型不保留插入顺序,与 Python 3.6 的不同。
此外,Codon 和 Python 在类型检查、数值运算、模块等维度还有些许的不同,更详细的内容可参考:https://docs.exaloop.io/codon/general/differences据悉,Codon 已经被商业化地应用在金融和生物信息学、深度学习等领域。
参考来源:
https://www.theregister.com/2023/03/11/python_codon_compiler/
GitHub 地址:https://github.com/exaloop/codon
堵肿寇3019如何在windows下使用pip安装
邱钟宁13886341048 ______ 方法/步骤 我们先来安装Python,博主选择的版本是最新的3.4.2版本.windows下面的Python安装一般是通过软件安装包安装而不是命令行,所以我们首先要在Python的官方主页上面下载最新的Python安装包.下载地址是:https://www.python....
堵肿寇3019如何在Windows7系统上安装最新的64位Python3.6 -
邱钟宁13886341048 ______ 方法/步骤 第一步,下载最新版Python3.6.0,双击exe安装文件,执行安装程序; (1)现在安装 (2)自定义安装 安装对所有用户,添加Python3.6到PATH路径中, 第二步,选择必须的特性,可以勾选所有的选项,然后点击“Next”进入下一步, 第三步,下面勾选高级选项,并选择安装路径,也可以选择默认路径, 第四步,下面进入安装过程,界面显示安装过程中,需要等待一段时间, 第五步,安装完成后,提示安装成功后,关闭窗口,代表安装成功, 第六步,验证最新版Python是否安装成功,打开Python命令窗口.
堵肿寇3019windows7 python下怎样安装pymysql -
邱钟宁13886341048 ______ 1、python安装目录设定为d:/python342、pymysql安装方法为:解压下载的文件,在cmd中运行: python setup.py install. 检验安装安装是否成功的方法:import pymysql . 如果不报错 说明安装成功. 3、mysql安装目录为D:/phpStudy/MySQL....
堵肿寇3019如何在windows下面安装python开发工具 -
邱钟宁13886341048 ______ python是个很强大的开发工具,但是如何安装呢?下面我来为大家解答一下.1 首先我们要下载好python-2.7.2.msi安装包,双击python安装文件“python-2.7.2.msi”,进入安装界面,点击“Next”,2 指定Python安装路径(“D:\muse\install\...
堵肿寇3019centons6.8如何彻底卸载python3.7 -
邱钟宁13886341048 ______ 1、使用pip安装的模块 pip list得到所有通过pip安装的软件 依次pip uninstall [模块] 卸载pip(因为我机器上的pip是通过python setup.py安装的,卸载提示成功后报错了,不知道会不会有什么后遗症,先卸载着吧)2、使用easy_install安装的模块 ...
堵肿寇3019如何在CentOS6上安装Python2.7和Python3.3 - Python -
邱钟宁13886341048 ______ 操作步骤如下: 1)安装devtoolset yum groupinstall "Development tools" 2)安装编译Python需要的包包 yum install zlib-devel yum install bzip2-devel yum install openssl-devel yum install ncurses-devel yum install sqlite-devel 3)下载并解压...
堵肿寇3019怎么在Win7下构建Python开发环境 -
邱钟宁13886341048 ______ 我们首先要到Python官方下载Python语言包,还要下载一个WinPython和一个Spyder软件(简单的集成开发环境)下载好的软件 我们接下来的事情就是软件的安装与环境变量的配置了,第一我们先要安装Python程序语言开发工具,在我们下载的...
堵肿寇3019如何在win7下安装python包工具pip -
邱钟宁13886341048 ______ 建议下载最新版的Python,最新版的Python中默认安装了pip包工具.
堵肿寇3019Windows下怎么搭建Python+Selenium的自动化环境 -
邱钟宁13886341048 ______ 第一步:网上下载Python2.7版本,默认运行安装即可;(install 安装) 第二步:安装完成之后,配置Python环境变量C:\Python27(操作步骤:电脑->属性->高级->环境变量->系统变量中的PATH为:变量值:;C:\Python27 ) 第三步:在python...
堵肿寇3019python2.7 windows10怎么安装 -
邱钟宁13886341048 ______ 1、选择install for all users ,然后一路点“Next”,就会将python 2.7.11默认安装至C盘下.python 2.7.112、特别要注意选上pip和Add python.exe to Path.3、然后打开命令提示符窗口,敲入python后会出现两种情况:⑴情况一:说明安装完毕...