Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1943953
  • 博文数量: 2511
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 25239
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2511)

文章存档

2024年(354)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: Python/Ruby

2022-08-10 17:19:15

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

阅读(338) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~