最新文章

1. go-HTTP服务优雅退出 | Go 语言优雅退出:HTTP 服务及生产者消费者模式实践

发布时间:2026-01-05

本文介绍了 Go 语言中 HTTP 服务和生产者消费者模式的优雅退出方法,讲解如何使用 context.WithTimeout 和信号处理机制确保程序在中断时能够安全地关闭,避免数据丢失和资源泄漏。文章包含代码示例和详细解释,帮助读者理解优雅退出的重要性和实现方式。

2. eface_and_iface | Understanding Go's `eface` and `iface`: A Deep Dive into Interface Internals

发布时间:2026-01-05

This document explains the internal structure of empty interfaces (`eface`) and non-empty interfaces (`iface`) in the Go runtime. It details the fields of `eface`, `iface`, `itab`, `interfacetype`, and `_type`, highlighting how method implementations are stored and accessed, including the handling of multiple methods via hash tables.

3. PythonJIT中的机器代码是如何生成的 | 深入解析 Python JIT 编译器:源码编译、调试及机器码生成

发布时间:2026-01-05

本文介绍了如何编译 Python 源码以调试其 JIT 编译器,包括必要的编译参数 (`--enable-experimental-jit --with-pydebug --with-trace-refs`)、Docker 的使用以及 VSCode 调试技巧。重点分析了 `jit_stencils.h` 文件以及编译过程,并解释了 Python JIT 编译工具链及机器码生成过程。文章也简述了 Python JIT 的工作原理及 PEP 744 相关文档。

4. python模块扩展之注册回调函数 | Python 模块扩展之回调函数传参详解及示例

发布时间:2026-01-05

本文介绍了如何在 C/C++ 中扩展 Python 模块,并实现 Python 回调函数,包括无参数和有参数的回调函数,以及如何使用 `PyArg_ParseTuple`、`PyObject_CallObject` 和 `Py_BuildValue` 等函数进行参数传递和处理。文章包含详细的代码示例、编译构建步骤和测试结果,并提供了完整的 Python 和 C++ 代码。

5. PythonJIT-copy-and-patch的处理的详细过程上 | Deep Dive into Python JIT Compilation: Copy-and-Patch with LLVM and Clang

发布时间:2026-01-05

This article details the Python JIT (Just In Time) compilation process using the copy-and-patch technique. It explores the implementation principles, demonstrates setting up a Docker environment for research, and explains the roles of llvm, clang, llvm-objdump, and llvm-readobj in generating and analyzing machine code. The article dives into the generation of jit_stencils.h, analyzing the C code generated for a specific instruction (_BINARY_OP), and examining the object dump and JSON output from llvm-reado

6. 如何在Ubuntu2404上编译PythonJIT | 在Ubuntu上编译Python 3.14.0a2并启用JIT (使用Docker解决clang-19安装问题)

发布时间:2026-01-05

本文记录了在Linux Ubuntu系统上编译Python 3.14.0a2源码,并启用实验性JIT编译的过程。文章详细介绍了遇到的问题,包括clang-19的安装难题以及最终使用Docker容器成功编译的方法,并提供了完整的命令和配置示例。

7. Python生成任意尺寸大小的测试图片 | Python脚本自动生成指定尺寸图片,提升测试效率

发布时间:2026-01-05

本文介绍一个使用 Python 和 PIL 库生成指定尺寸图片的脚本,解决测试过程中需要反复截取图片的繁琐问题。该脚本支持自定义尺寸、后缀名,并可设置为命令行别名方便调用,提升测试效率。

8. python学习大纲 | Python 教程:从入门到高阶,涵盖基础语法、数据结构、算法及高级应用

发布时间:2026-01-05

这是一份全面的 Python 教程,涵盖从基础语法、数据结构、算法到进阶的网络编程、GUI 开发、WEB 开发以及高阶的扩展开发、Python 解释器、编译原理等内容,并包含机器学习、数据分析和设计模式等主题。适合 Python 初学者和想要深入学习 Python 的开发者。

9. PythonJIT-如何执行 | PythonJIT 深入解析:JIT 代码转换时机、执行机制及优化策略

发布时间:2026-01-05

本文深入探讨 PythonJIT 的 JIT 代码转换时机、代码执行机制以及 JIT 优化开启条件。文章分析了 `_PyJIT_Compile` 函数、`mark_executable` 函数、`execute_jit_code` 函数和 `uop_optimize` 函数等关键函数,并解释了 uops 缓冲区在 JIT 代码执行中的作用,以及如何通过配置和环境变量控制 JIT 优化的开启与关闭。

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

发布时间:2026-01-05

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

11. python-ast优化深入研究 | Python 语法树 AST 优化详解:从常量折叠到高级优化技巧

发布时间:2026-01-05

本文深入解析了 Python 语法树的优化过程,涵盖常量折叠、一元运算符优化、列表/集合优化、比较操作符优化、下标操作符优化以及元组优化等多种优化手段,并结合代码示例和字节码分析,详细解释了这些优化技术的实现原理和效果。文章还探讨了 Python 未实现的优化,例如循环消除。

12. 实现hash |

发布时间:2026-01-05

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

发布时间:2026-01-05

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

14. python-opcode优化-上 | Python 字节码优化:peephole 优化器深度解析

发布时间:2026-01-05

本文分析了 Python 内核源码中字节码优化的实现,重点介绍了 `peephole` 优化器在 `compile.c` 和 `peephole.c` 文件中的实现细节,包括控制流图优化、基本块优化以及 `optimize_cfg`, `optimize_basic_block`, `clean_basic_block` 等关键函数的功能和作用。 通过对 LOAD_CONST 等指令的优化示例,阐述了其如何提高字节码执行效率。

15. python_with_open_without_close | Python with open() 深入解析:为什么无需手动关闭文件?

发布时间:2026-01-05

深入剖析 Python 中 `with open() as f:` 语句的执行过程,通过 dis 模块查看字节码,分析 Python 内核源码 (ceval.c) 中 SETUP_WITH, WITH_EXCEPT_START 等指令,解释为什么使用 with 打开文件后无需手动关闭。文章结合 Python 3.7 和 3.10 的字节码差异,详细阐述 with 语句的底层实现机制,以及 __enter__ 和 __exit__ 方法的作用。

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

23. Parse-Python实现自己的JSON-encode | Python JSON Encoder Implementation: A Recursive Approach

发布时间:2026-01-05

This article implements a JSON encoder in Python, converting Python objects (None, bool, int, float, str, list, dict) into JSON strings using recursive encoding for lists and dictionaries. Includes a complete code example and test cases.

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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