最新文章

1. 使用vscode调试Python内核代码 | VS Code 断点调试 Python 内核代码详解

发布时间:2025-01-06

本文介绍如何编译带调试信息的 Python 源码 (Python 3.10.7),如何在 VS Code 中配置 Python 断点调试环境,以及如何使用断点调试来学习 Python 内核代码,并解释了为什么要采用这种学习方法。

2. 实现hash |

发布时间:2025-01-06

3. python内核基础元素字典-下 | Python 字典(dict)内核源码深度解析:存储机制、字节码与C扩展实现

发布时间:2025-01-06

深入解析Python字典(dict)的底层实现原理,包括数据存储方式(combined和split)、PEP 412规范、字节码操作(BUILD_MAP, STORE_SUBSCR, DELETE_SUBSCR)以及C扩展实现细节。文章分析了ma_keys和ma_values在不同场景下的作用,并解释了字典相关操作码的执行过程。

4. Parse-入门字符解析-python实现简单的计算器 | Python实现后缀表达式计算器:支持加减乘除和括号

发布时间:2025-01-06

本文介绍了使用Python实现一个简单的支持加减乘除和括号的计算器,其核心算法是将中缀表达式转换为后缀表达式,然后计算后缀表达式的值。文章包含详细的代码实现和算法解释,并讨论了程序的局限性和未来的改进方向。

5. index | Python 内核源码深度解析:虚拟机、词法分析与编译原理

发布时间:2025-01-06

深入解析 Python 内核源码,涵盖虚拟机、词法分析 (Token)、语法分析 (Parser) 和编译等核心模块,详细讲解 Grammer、AST、opcode、pyc 等关键概念及自顶向下、自底向上分析等算法。

6. 栈帧 | Python 虚拟机中的栈帧详解:数据结构、生命周期及调用栈

发布时间:2025-01-06

深入探讨 Python 虚拟机中的栈帧 (PyFrameObject) 数据结构,包括其组成部分(局部变量、操作数栈、异常处理信息等)、创建和销毁机制,以及在函数调用和返回过程中的作用。文章还阐述了栈帧链、main 栈帧、调用栈等概念,并结合代码示例和图表,清晰地解释了 Python 代码执行过程中栈帧的运行原理。

7. 字节码 | 深入Python内核:从字节码分析开始理解Python运行机制

发布时间:2025-01-06

本文分析了学习Python内核时为何要从字节码分析入手,详细解释了Python字节码的结构、指令类型(如加载和存储指令、栈操作指令、控制流指令等)以及指令参数的作用,并通过例子和代码片段深入浅出地讲解了字节码的运行机制。理解字节码有助于深入理解Python的执行引擎和运行机制。

8. Parse-Python实现JSON-decode解析器 | Python实现JSON解析器:原理与性能分析

发布时间:2025-01-06

本文用Python实现了一个JSON解析器,并与Python内置的json库进行了性能比较。文章详细介绍了JSON解析器的实现原理,包括token类型、token化、数值解析、字符串解析、布尔值解析、null值解析以及JSON对象的解析。最后总结了实现过程,并指出实际开发中建议使用Python内置的json库。

9. 非真非假 | Python内核源码解析:if判断的真假奥秘及is与==的差异

发布时间:2025-01-06

深入解析Python内核源码中`POP_JUMP_IF_FALSE`和`POP_JUMP_IF_TRUE`指令,解释Python中if条件判断的非真非假情况,以及`is`和`==`运算符的区别,并分析`Py_IsTrue`、`PyObject_IsTrue`和`Py_Is`函数的实现原理。

10. python-opcode优化-下 | 窥孔优化:提升Python性能的利器

发布时间:2025-01-06

本文探讨了窥孔优化技术,包括常量折叠、去除无用代码和控制流优化等,并分析了这些优化对程序执行效率和资源消耗的影响。文章以Python内核为例,解释了这些优化在实际应用中的体现,并提供了阅读和理解相关源码的建议。

11. Python内核基础元素int | Python 源码揭秘:大整数 (int) 的底层实现机制

发布时间:2025-01-06

深入剖析 Python 大整数的底层实现原理,详解 PyLongObject 数据结构、初始化、加法运算等核心机制,以及为什么使用数组存储 int 值,并附带源码分析和图解说明。理解 Python 如何高效处理大整数,提升编程技能。

12. 底层基础数据结构PyObject | Python内核核心数据结构:PyObject详解及源码分析

发布时间:2025-01-06

深入探讨Python内核中最重要的数据结构PyObject和PyVarObject,分析其C语言源码实现,包括引用计数、类型对象等关键字段,并简要介绍其在Python数据类型中的应用。文章旨在引出PyObject,后续将深入分析各种Python数据结构的底层实现。

13. python-opcode优化-中 | Python 字节码优化:窥孔优化技术详解及案例分析

发布时间:2025-01-06

本文深入探讨Python字节码优化中的核心技术——窥孔优化(Peephole Optimization)。通过分析Python编译过程中的不同阶段,包括抽象语法树(AST)和字节码,以及具体的代码示例和测试用例,详细解释了窥孔优化的原理、常用技术以及如何验证其优化效果。文章还阐述了如何将复杂的优化问题分解为更小的子问题,逐步推测并验证优化过程中的逻辑。

14. 大纲 | Python 解释器深度解析:从基础到高级特性

发布时间:2025-01-06

深入探讨 Python 解释器的运行机制,涵盖基础数据结构、内存管理、垃圾回收、作用域、解析过程 (Parse)、抽象语法树 (AST) 及其优化、操作码 (OpCode)、虚拟机 (VM)、栈帧、程序入口方式、C/C++ 扩展以及协程等核心概念。

15. 小试牛刀-执行shellcode | Python JIT 原理详解:运行时机器代码补丁与实践

发布时间:2025-01-06

本文总结了对Python JIT的研究过程,深入探讨了Python JIT如何通过在运行时执行机器代码(以补丁形式)来优化性能。文章包含了从编译C代码生成机器码,到在Linux系统上使用mmap分配可执行内存并执行机器码的完整示例,并最终通过一个简单的加法运算演示了整个过程。

16. 2019-12-17-multiple-thread-to-consume-queue | Python多线程消费Queue:高效并发处理数据

发布时间:2025-01-06

本文介绍了如何在Python中使用多线程高效消费队列(Queue),以LifoQueue为例,演示了如何创建多个线程并发地从队列中读取数据并写入不同的文件,并讲解了使用Queue避免锁的机制以及生产者消费者模型的应用。

17. lexer-词法分析 |

发布时间:2025-01-06

18. Python扩展-C-C++实现生成器和迭代器 | C++实现Python迭代器和生成器:优化内存的利器

发布时间:2025-01-06

本文介绍了如何使用 C/C++ 实现 Python 的迭代器和生成器,并通过具体的代码示例演示了它们的用法和原理。迭代器用于遍历集合,生成器则用于按需生成值,两者结合可以有效优化内存使用。文章包含了完整的 C++ 代码、setup.py 文件和 Python 测试代码,以及流程图,方便读者理解和实践。

19. Python扩展c-c++--mapping扩展 | 在 C/C++ 中高效遍历 Python 字典

发布时间:2025-01-06

本文介绍了如何在 C/C++ 扩展中实现 Python 字典的遍历,包括使用 PyMapping_Items 获取字典项、PyArg_ParseTuple 解析元组以及 PyDict_New 和 PyDict_SetItemString 创建和填充字典。文章包含代码示例和详细注释,并演示了如何处理错误和不同数据类型。

20. python通过ffi调用C代码 | Python FFI:高效调用 C/C++ 代码的完整指南

发布时间:2025-01-06

本文介绍如何使用 Python 的 FFI (Foreign Function Interface) 来调用 C/C++ 代码,包括调用动态链接库和在 Python 代码中嵌入 C 代码两种方法。FFI 能够提高开发效率,并支持多种编程语言和操作系统。

21. python扩展或嵌入解释器开发 | C/C++ 扩展 Python:模块扩展与嵌入 Python 解释器详解

发布时间:2025-01-06

学习如何使用 C/C++ 扩展 Python,包括嵌入 Python 解释器和开发 Python 模块。文章涵盖了初始化、执行 Python 代码、参数解析、模块创建等关键步骤,并提供了代码示例和编译方法,帮助你提升 Python 应用程序性能并深入理解 Python 的实现原理。

22. basic | Scala基础语法速成指南:sbt和Maven构建工具详解

发布时间:2025-01-06

学习 Scala 基础语法知识,包括构建工具 sbt 和 maven 的使用介绍,并附上官方文档链接。适合 Scala 初学者快速入门。

23. sbt工具了解 | sbt Scala构建工具详解:配置、依赖、命令及最佳实践

发布时间:2025-01-06

深入学习sbt Scala构建工具,涵盖sbt构建文件配置、依赖管理(+=, %, %%)、常用命令(clean, compile, test, run, package, console, reload)以及目录结构详解。提升你的Scala项目构建效率。

24. bison | 理解和优化特定文件结构:定义段、规则段和辅助程序段

发布时间:2025-01-06

本文档描述了一种特定文件结构,包含定义段(%{}%)、规则段(%% %%)和辅助程序段三个部分。了解这种结构有助于理解和优化相关程序或文档。

25. flex |

发布时间:2025-01-06