最新文章

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

3. python-ast优化 | Python AST 语法树优化详解:提升代码执行效率的秘密

发布时间:2026-01-05

本文深入探讨了 Python 的 AST (抽象语法树) 优化机制,详细分析了 `PyAST_Optimize` 函数及其核心子函数 `astfold_mod`、`astfold_body`、`astfold_stmt`、`astfold_expr` 和 `fold_binop` 的实现原理。这些函数通过递归地折叠语法树中的常量表达式和冗余节点,减少代码执行指令,从而提升 Python 代码的执行效率。文章并以 `dis` 模块为例验证了优化效果,展示了优化前后字节码的差异。

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

6. PythonJIT-反向推断JIT-patch的生成过程 | Python JIT 编译器:深入解析 jit_stencils.h 文件及其代码生成过程

发布时间:2026-01-05

本文分析了 Python 编译时生成的 jit_stencils.h 文件,详细解释了其中 `patch_*` 函数的作用、参数含义以及生成过程。文章深入探讨了基于 ELF 文件结构的重定位 (Relocation) 信息如何转化为 C 代码中的 `patch` 操作,并追踪了从 JSON 数据到最终 C 代码的完整流程,涉及 `_writer.py`, `_targets.py`, `_stencils.py` 等关键文件。文章还对 `memcpy` 函数在代码中的作用进行了说明,并提出了后续关于 patch 代码工作机制和 Python runtime 执行方式的疑问。

7. lexer-词法分析 |

发布时间:2026-01-05

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

11. Python使用C或C++扩展类 | Python C/C++ 扩展类模块开发详解:从入门到成员属性方法绑定

发布时间:2026-01-05

本文详细介绍了如何使用 C/C++ 扩展 Python 类模块,包括编写构造函数、析构函数、成员属性和方法,以及内存管理和引用计数规则。文章包含流程图和代码示例,帮助读者逐步掌握 Python 扩展模块开发的完整流程,并深入理解成员属性和方法的注册绑定。

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

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

发布时间:2026-01-05

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

16. flex |

发布时间:2026-01-05

17. index | 技术博客文章归档 - 算法、数据库、机器学习、信息安全及更多

发布时间:2026-01-05

技术博客文章归档,涵盖算法、数据库、机器学习、信息安全、大数据、前端、网络编程、编程语言(C/C++, Rust, Go, Python, Lua, Scala, LLVM)等多个领域,包含大量实用技巧和深入技术分析。

18. prometheus |

发布时间:2026-01-05

19. grafana |

发布时间:2026-01-05

20. 数据写入 | ClickHouse 列式数据库:高效处理海量数据的利器

发布时间:2026-01-05

ClickHouse是一个高效的列式数据库管理系统(DBMS),擅长处理非关联数据和海量日志型数据,具有良好的数据压缩效果。本文简要介绍ClickHouse的数据类型,并提供查询数据类型的SQL语句。

21. view物化视图 | ClickHouse 实时数据处理:基于 Kafka 引擎的物化视图构建与优化

发布时间:2026-01-05

本文介绍如何使用 ClickHouse 的 Kafka 引擎构建物化视图,实现对 Kafka 数据的实时处理和聚合。文章涵盖了表结构创建、物化视图构建、聚合查询以及日志查看等方面,并提供了具体的 SQL 代码示例和注意事项,帮助读者快速上手 ClickHouse 的数据处理流程。

22. table引擎 | ClickHouse Kafka引擎:高效处理实时数据流的利器

发布时间:2026-01-05

ClickHouse Kafka 引擎详解,介绍了其特性、老版和新版配置格式,包括发布订阅数据流、容错存储机制以及处理流数据的能力。 学习如何使用 Kafka 引擎高效处理实时数据。

23. 注意事项 |

发布时间:2026-01-05

24. 压力测试 | Elasticsearch 流水数据写入性能压测及结果分析

发布时间:2026-01-05

本文使用 esrally 工具对 Elasticsearch 进行流水数据写入压测,测试了 1000 万、2000 万和 5000 万条数据写入的性能,并对结果进行了详细分析,包括索引时间、合并时间、刷新时间、查询性能等指标,以及不同查询方式下的性能对比。文章还提供了 track.json 和 index.json 配置文件示例。

25. 批处理 |

发布时间:2026-01-05