ITPub博客

首页 > 应用开发 > Python > 为什么python运行效率低?原来因为它!

为什么python运行效率低?原来因为它!

原创 Python 作者:老男孩IT教育机构 时间:2020-08-14 13:24:04 0 删除 编辑

  在大家的记忆中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采用标记和分代的垃圾回收策略,每次垃圾回收的时候都会中断正在执行的程序,造成所谓的顿卡,影响运行效率。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69952527/viewspace-2711725/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
老男孩教育专注于Linux培训,Python培训,网络安全培训,Go语言培训,Linux运维,云计算培训,阿里云架构师培训的高端培训机构,汇聚了一批实战大牛,理论+实战互动式教学,注重教学质量及学员口碑的高品质IT教育培训机构。

注册时间:2019-11-01

  • 博文量
    793
  • 访问量
    347616