首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CPython 3.11 来了

当使用 pyperformance 基准套件测量在 Ubuntu Linux 上使用 GCC 编译时, CPython 3.11 平均比 CPython 3.10 快 25% 。...此外还需关注 C 扩展的问题:CPython 与 C 的简单接口是主要优势,而与 C 扩展的不兼容性则是一大槽点。...而 Faster CPython 团队在 CPython 3.11 中所做的优化工作在很大程度上忽略了扩展模块的问题,对此,团队领导者 Shannon 表示,团队正在开辟将低级函数 API 暴露给虚拟机的可能性...(顺便说一下,Shannon 一直对 CPython 是否真的需要引入 JIT 持怀疑态度。)...这个提案和 Faster CPython 团队的工作将以截然不同的方式加速多线程 Python 代码,但两者又可能产生一些冲突,毕竟 Faster CPython 已实施的优化,很大一部分都基于 GIL

1.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CPython源码阅读笔记(2)

    PyObject CPython 中基本的数据结构是 Object,所有的 Python 对象都可以用 PyObject * 来访问,CPython 中通过 Object 手动实现了对象系统。...CPython 中的对象都需要通过特定的函数来创建,所有对象都需要申请内存来创建在堆中,不允许创建在栈上或者创建为全局变量(例如直接声明 PyIntObject i),因为需要统一使用引用计数来管理内存...Added in version 2.6 */ unsigned int tp_version_tag; } PyTypeObject; PyIntObject PyIntObject 为 CPython...ob_ival; } PyIntObject; PyIntObject 的创建 PyIntObject 的创建可以通过 5 个 API 中的一个来完成, 其中最常用的为 PyInt_FromLong, CPython...PyObject *) v; } PyInt_FromLong 中可以看到, 定义了名为 small_ints 的全局数组,用于存储大于-5小于257的小整数,这些对象在解释器初始化后便申请完成,并且在 CPython

    1.6K30

    想学CPython,Python之父Guido亲上阵

    就在刚刚(2020年2月10日),Python之父Guido van Rossum在其个人Blog中发布了他对CPython学习的帮助教程。下面让我们一睹为快吧! ? 1 你需要了解的!...2 入门文档 ▌核心教程,先从这里开始: ▌https://cpython-core-tutorial.readthedocs.io/en/latest/ ?...4 Workflow ▌Git设置 1、如果你还没有GitHub账号,请登录GitHub.com 2、在GitHub上调用Python/CPython repo,点击Fork按钮(右上角): ?...3、在本地克隆你的fork: `git clone git@github.com:YOURUSERNAME/cpython.git` `cd cpython` 4、配置upstream remote,现在你可以用...“git push”和“git pull”来push/pull你的fork: git remote add upstream https://github.com/python/cpython/ 5、创建一个分支工作

    76510

    5倍提升,加速CPython!Quant如何看?

    今天既有正经推文,也有量化八卦~ 去年11月,Python 之父Guido van Rossum宣布了他已经加入微软的消息: 在微软的日子里,他获得了选择项目的自由,并决定让CPython变得更快。...加速CPython! 在今年2021 Python语言峰会上,Guido Van Rossum在表示:他打算在2022年10月发布3.11版本时将快CPython的速度提高1倍。...在接下来的四年里,他的目标是将CPython的速度提高到原来的5倍。 相关阅读 最新!...想学CPython,Python之父Guido亲上阵 整个计划被称为“香农计划”(即“Shannon Plan”,得名于提出者),期望花 4 年时间把 Python 提速 5 倍,即每年 1.5 倍。...: 他编写了流行的xtx工具,用于处理在R语言中不同的基于时间的数据类: 他还编写了quantmod(Quantitative Financial Modelling Framework),该框架已被下载数百万次

    1.2K10

    Python源码剖析:深度探索Cpython对象-达观数据

    CPython 是 Python 社区的标准,其他版本的 Python,比如 pypy,都会遵行 CPython 的标准 API 实现。...想要更深入的认识 Python,就需要了解 CPython 的源码实现。本文将从 CPython 的对象构造器开始入手,带大家揭开 CPython 源码的面纱,带你进入 C + Python 的世界。...我们可以从下文的 GitHub 地址下载各版本的 CPython 源代码(本文内容以 Python 3.11 为例),其目录结构如下:接下来,我们将从源代码编译 CPython。...在上述命令中,你需要下载并安装一些工具,包括 Homebrew,Git,Make, GNU C 编译器和OpenSSL等。....通过进一步了解 CPython 动态性的实现方式,读者可望在阅读 CPython 源码后提升编写高质量代码的能力。

    26710

    浅析 Python 的一些底层原理与 CPython

    Python 解释器有多个主要实现版本,其中,CPython 的使用最为广泛。CPython,作为 Python 的官方解释器,是用 C 语言编写的,并在 Python 社区得到了广泛支持和贡献。...PyPy 之所以比 CPython 更快,主要有以下两个原因: 即时编译(JIT):PyPy 使用了即时编译(Just-In-Time Compilation)技术。...这种技术允许 PyPy 在执行程序前先将部分代码编译成机器码,而不是像 CPython 那样逐行解释执行。...通过 PyObject 的循环双向链表,CPython 可以很方便地管理底层真正分配内存的变量。...参考链接: Python 源码剖析:深度探索 Cpython 对象 - 达观数据 Python 底层是用什么语言实现的 Python 进阶笔记(二)Python 内存管理(CPython

    33700

    了解 Python 底层的解释器 CPython 和 Python 的对象模型

    一、CPython CPython 是 Python 编程语言的官方和最广泛使用的实现。它是用 C 语言编写的,因此得名 “CPython”。...主要特性和优势 广泛兼容性:作为 Python 的默认实现,几乎所有的第三方库都首先确保它们在 CPython 上能够正常工作。...社区支持:CPython 拥有庞大而活跃的开发者社区,这意味着任何 bug 快速修复和新功能的迭代速度都比较快。...扩展与集成:对于需要将 Python 与其他语言集成或开发高性能模块的情况,了解 CPython 的内部结构和扩展接口是必须的。...对于那些追求程序极致性能、或需要与其他语言混合编程环境工作的高级用户来说,则可能需要更深入地掌握 CPython 相关知识。

    24500

    【Python百日精通】超详细Python解释器安装、配置全攻略详解

    以下是几种常见的Python解释器: CPython:这是最常见和官方推荐的Python解释器,由C语言开发。CPython兼容性好,性能稳定,广泛应用于各类项目。...绝大多数Python用户使用的都是CPython。 IPython:基于CPython的交互式解释器,提供了更加丰富的交互体验和功能。...1.3 推荐使用的解释器 我们将使用官方推荐的CPython解释器。CPython兼容性好,文档丰富,社区支持广泛,是学习和开发Python项目的最佳选择。...二、下载Python解释器 2.1 下载地址 要下载Python解释器,可以访问官方Python网站的下载页面:Python 下载地址。在该页面,你可以找到适用于不同操作系统的安装包。...单击下载链接,开始下载安装包。 三、安装Python解释器 3.1 安装步骤 下载完成后,双击下载的安装包文件,按照以下步骤进行安装: 双击安装包 双击下载的安装包以启动安装程序。

    37510

    Rye:一个实验性质的Python包管理系统

    workspace下只有一个Python版本,不同workspace Python版本相互隔离,每个项目采用pyproject.toml来进行配置 不使用系统自带的Python,相反地,在每个项目目录的中下载一个...# cpython@可以省略 rye pin cpython@3.10.11 rye pin 3.10.11 由于默认使用的Python版本是Cpython的,因此在执行rye命令时可以将Cpython...然后执行rye sync 来同步配置,具体来说,第一次执行这个命令的时候,Rye会下载一个单独的Python解释器,放置到$HOME/.rye/py目录下,链接到项目的.venv 目录下,因此同一个Python...会列出所有可以下载的Python版本: `rye toolchain list --include-downloadable` 输出: cpython@3.10.8 (downloadable) cpython...注意已经下载的Python版本不在这个输出中。

    49820

    在Linux上安装python

    离线安装方式,分别去官网下载pyenv 和 virtualenv pyenv https://github.com/pyenv/pyenv virtualenv virtualenv https://...home/python/.pyenv/bin:$PATH” eval “$(pyenv init -)” eval “$(pyenv virtualenv-init -)” 1.Python的编译器CPython...当我们从Python官方网站下载并安装好Python 3.5后,我们就直接获得了一个官方版本的解释器:CPython。...这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。 CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。...2.Python的编译器IPython IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的

    3.9K40

    Python常用编译器原理及特点解析

    事实上,确实存在多种Python解释器,比如: CPython 当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。...这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。 CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。...IPython IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。...如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。...以上的你都见过吧:虽然Python的解释器很多,但使用最广泛的还是CPython

    1.1K51

    【说站】Python解释器有哪些种类

    Python解释器有哪些种类 1、CPython,它是用C语言开发的,所以称为CPython。...当从Python官方网站下载并安装了Python2.7之后,直接得到了一个官方版本的解释器:Cpython。在指定行下运行python,即启动CPython解释器。...2、IPython基于CPython的交互式解释器。...也就是说,IPython只是交互的方式有所改进,但是执行Python与CPython的功能完全相同,就好比许多国产浏览器虽然外观不同,但内核实际上是调用IE。 3、PyPy其目标是执行速度。...Python的解释器主要是CPython,对于Python的编译,除了可以通过上面的解释器来编译之外,技术熟练的开发者也可以根据自己的需要自行编写Python解释器来执行。

    47220
    领券