学习
实践
活动
专区
工具
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

38030
  • 广告
    关闭

    新年·上云精选

    热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云

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

    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

    54530

    想学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、创建一个分支工作

    45910

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

    在微软的日子里,他获得了选择项目的自由,并决定让CPython变得更快。 Guido van Rossum、Mark Shannon(加速计划的提出者,精通 Python 性能研究)、Eric Snow(Python 核心开发者之一、微软高级工程师)等多人组成的小团队来加速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 倍。

    36010

    【Rust每周一库】Tokei - 统计代码行数等信息的实用工具

    好了不废话,首先安装的话直接用cargo就好了: $ cargo install tokei 我们下面以cpython的源码为例,看下tokei具体如何使用 直接使用tokei+目录名就可以得到关于目录下按语言分类的文件数 $ tokei cpython/ ------------------------------------------------------------------------------- Language ------------------------------------------------------------ 使用-s可以针对某个列排序,比如如果我们要针对代码行数排序 $ tokei cpython --------------------------------------------------------------------------- 使用-t可以过选择想要的语言 $ tokei cpython 因为cpython的文件太多,我们选取一个子目录看看: $ tokei cpython/Parser/ --files -----------------------------------------

    1.1K30

    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

    61551

    各种 Python 实现的简单介绍与比较

    来源:Python开发者 ID:PythonCoder 当谈到Python时,一般指的是CPythonCPython CPython是标准Python,也是其他Python编译器的参考实现。通常提到“Python”一词,都是指CPythonCPython由C编写,将Python源码编译成CPython字节码,由虚拟机解释执行。没有用到JIT等技术,垃圾回收方面采用的是引用计数。 所以当有人问道Python是解释执行还是编译执行,可以这样回答:Python(CPython)将Python源码编译成CPython字节码,再由虚拟机解释执行这些字节码。 想对于CPython,PyPy的性能提升非常明显,但对第三方模块的支持真心是弱爆了。比如无法很好的支持使用CPython的C API编写的扩展,完全不支持使用SWIG、SIP等工具编写的扩展。

    34050

    【说站】Python解释器有哪几种

    Python解释器有哪几种 1、CPython是使用最广的Python解释器。 是官方版本的解释器:CPython。是使用C语言开发的,所以叫CPython。 在命令行下运行python就是启动CPython解释器。 2、IPython是基于CPython之上的一个交互式解释器 也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。 CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。 3、PyPy 由Python写的解释器,它的执行速度是最快。 Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

    7920

    扫码关注腾讯云开发者

    领取腾讯云代金券