首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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.8K30

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

    93810

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

    今天既有正经推文,也有量化八卦~ 去年11月,Python 之父Guido van Rossum宣布了他已经加入微软的消息: 在微软的日子里,他获得了选择项目的自由,并决定让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 倍。

    1.4K10

    P265GH钢板价格P265GH钢板化学成分P265GH钢板切割方圆法兰异形件

    ​​​摘要​​:本文深入探讨P265GH钢板的化学成分、机械性能、应用领域及加工工艺,为工程设计与材料选型提供权威参考,助力行业高效发展。...一、P265GH钢板的核心特性与标准规范1.1 材料定义与分类P265GH是欧洲标准EN 10028-2中定义的非合金耐热钢,专用于压力容器及高温设备制造。...某欧洲电厂项目采用32mm厚P265GH板制造高压分离器,连续运行10万小时后检测显示材料性能衰减率<5%。...2.2 化工容器领域在合成氨反应器制造中,P265GH凭借良好的抗氢致开裂(HIC)性能,成功替代部分高合金钢。某工程案例显示,采用双面埋弧焊工艺制造的P265GH氨合成塔,设计寿命提升至15年。...某石化项目采用再生钢比例达30%的环保型P265GH,碳足迹降低18%,获TÜV南德绿色材料认证。​​结语​​作为压力容器领域的经典材料,P265GH通过持续工艺革新保持技术竞争力。

    25300

    技术分享 | Online DDL 工具 gh-ost

    一、gh-ost 介绍 gh-ost 是 GitHub 发布的一款用于 MySQL 的无触发器在线模式迁移解决方案。它是可测试的,并提供暂停,动态控制/重新配置,审计和许多操作特权。...gh-ost 使用相同的模式。但是,它与所有现有工具的不同之处在于不使用触发器。取而代之的是,gh-ost 使用二进制日志流捕获表的更改,然后将其异步应用到幽灵表。...gh-ost 承担一些其他工具留给数据库执行的任务。gh-ost 可以更好地控制迁移过程;可以真正暂停它;可以真正将迁移的写入负载与主服务器的工作负载分离。...二、gh-ost 的三种模式架构 ? 2.1 连接从库,在主库转换 这是 gh-ost 默认的工作模式,它会查看从库情况,找到集群的主库并且连接上去,对主库侵入最少。...gh-ost 仍然会连上主库,但所有操作都是在从库上做的,不会对主库产生任何影响。在操作过程中,gh-ost 也会不时地暂停,以便从库的数据可以保持最新。

    1.3K21

    浅析 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

    1.7K01
    领券