当前位置 : 主页 > 编程语言 > python >

Python为什么运行效率低?受哪些因素影响?

来源:互联网 收集:自由互联 发布时间:2022-08-15
与其他编程语言相比,Python具有非常独特的优势,语法简单、通俗易懂、开发效率高、免费开源、简单易学、可移植、可扩展,最厉害的就是它有着广泛的第三方库支持,可以更好的提

  与其他编程语言相比,Python具有非常独特的优势,语法简单、通俗易懂、开发效率高、免费开源、简单易学、可移植、可扩展,最厉害的就是它有着广泛的第三方库支持,可以更好的提高工作效率。具备多重优势的同时,Python也具备一定的缺点:运行效率低,那么导致Python运行效率低的因素是什么?请看下文。

  1.Python是动态语言

  动态语言是一类在运行时可以改变其结构的语言,如新的函数、对象、代码可以被引入,已有的函数可以被删除或其他结构上的变化等,该类语言更具有活性,但是不可避免的因为运行时的不确定性也影响运行效率。

  2.Python是解释执行

  相比于C语言编译性语言编写的程序,Python是解释执行语言,其运行过程是Python运行文件程序时,Python解释器将源代码转换为字节码,然后再由Python解释器来执行这些字节码。其每次运行都要进行转换成字节码,然后再由虚拟机把字节码转换成机器语言,最后才能在硬件上运行,与编译性语言相比,其过程更复杂,性能肯定会受影响。

  3.Python中一切都是对象

  Python是一门面向对象的编程语言,其设计理念是一切皆是对象,如数字、字符串、元组、列表、字典、函数、方法、类、模块等都是对象,包括代码,每个对象都需要维护引用计数,因此,增加了额外工作,影响了性能。

  4.Python GIL

  GIL是Python最为诟病的一点,因为GIL,Python中的多线程并不能真正的并发,即使在单线程,GIL也会带来很大的性能影响,因为python每执行100个opcode就会尝试线程的切换,因此,影响Python运行效率。

  5.垃圾回收

  Python采用标记和分代的垃圾回收策略,每次垃圾回收的时候都会中断正在执行的程序,造成所谓的顿卡,影响运行效率。

上一篇:Linux之安装本地Python和pip
下一篇:没有了
网友评论