Python 虚拟机

来源:互联网 发布:人工智能龙头股有哪些 编辑:程序博客网 时间:2024/05/29 19:13
Python 是⼀一种半编译半解释型运⾏行环境。⾸首先,它会在模块 "载⼊入" 时将源码编译成字节码 (Byte
Code)。⽽而后,这些字节码会被虚拟机在⼀一个 "巨⼤大" 的核⼼心函数⾥里解释执⾏行。这是导致 Python 性
能较低的重要原因,好在现在有了内置 Just-in-time ⼆二次编译器的 PyPy 可供选择。
当虚拟机开始运⾏行时,它通过初始化函数完成整个运⾏行环境设置:
• 创建解释器和主线程状态对象,这是整个进程的根对象。
• 初始化内置类型。数字、列表等类型都有专⻔门的缓存策略需要处理。
• 创建 __builtin__ 模块,该模块持有所有内置类型和函数。
• 创建 sys 模块,其中包含了 sys.path、modules 等重要的运行期信息。
• 初始化 import 机制。
• 初始化内置 Exception。
• 创建 __main__ 模块,准备运⾏行所需的名字空间。
• 通过 site.py 将 site-packages 中的第三⽅方扩展库添加到搜索路径列表。
• 执⾏行⼊入⼝口 py ⽂文件。执⾏行前会将 __main__.__dict__ 作为名字空间传递进去。
• 程序执⾏行结束。
• 执⾏行清理操作,包括调⽤用退出函数,GC 清理现场,释放所有模块等。
• 终⽌止进程。
Python 源码是个宝库,其中有⼤大量的编程范式和技巧可供借鉴,尤其是对内存的管理分配。个⼈人
建议有 C 基础的兄弟,在闲暇时翻看⼀一⼆二。
0 0
原创粉丝点击