python生成exe启动很慢_为什么Python如此慢

Python在速度上不敌其他语言,主要由于其全局解释器锁(GIL)、解释器运行机制和动态类型。GIL限制了多线程并行执行,解释器启动慢,动态类型导致难以优化。尽管有PyPy等解决方案,但Python的这些特性牺牲了性能以换取灵活性和易用性。
摘要由CSDN通过智能技术生成

Python当前人气暴涨。它在DevOps,数据科学,Web开发和安全领域均有使用。

但是在速度方面没有赢得美誉。

这里有关于Python比较其他语言如,Java, C#, Go, JavaScript, C++进行性能对比,其中Python是最慢的。包含了JIT(C#, Java)和AOT(C,C++)编译器,也有像解释型语言如JavaScript。

注意:文章中我所提到的"Python"均指使用C语言实现的CPython。

为什么要比其他语言慢到2-10x的速度?

这是相关原因:它的GIL(Global Interpreter Lock)

因为是解释器型非编译型

因为是动态语言

那这些原因中哪个占最大成分呢?

它的GIL

现代计算机大多数都具备多核,有时还有多处理器。为了充分利用这些处理能力,操作系统底层提供了一个叫做线程的东西,它(例如Chrome浏览器)可以系统内容创建多个线程进行指令处理。也就是说当一个进程是CPU密集型,那就可以通过多个核协同工作来提高应用的运行速度。

我本地Chrome浏览器当前会开启44个线程,在不同的操作系统例如POSIX(Mac OS和Linux)和Windows提供的线程API结构不一样。操作系统来负责线程的调度。

如果你之前并没有进行过多线程编程,你需要熟悉一个叫做锁的概念。不像单线程进行,你需要确保在内存改变一个变量时,多个线程不会同时进行操作。

CPython创建变量时,它会开辟内存,然后计算有多少引用该变量,这个概念叫做引用计数。如果引用技术为0时,它会将内存释放回给系统。这也就是创建临时变量,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值