国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Python程序慢的重要原因

瀏覽:6日期:2022-07-12 11:52:10

Python慢的重要原因:

1、python是動態(tài)性語言不是靜態(tài)性語言

在python程序執(zhí)行的時候,編譯器不知道變量的類型。

2、python是解釋性語言而不是編譯性語言

解釋型語言與編譯型語言它們本身的區(qū)別也會造成程序在執(zhí)行的時候的速度差異。一個智能化的編譯器可以預(yù)測并針對重復(fù)和不需要的操作進行優(yōu)化。這也會提升程序執(zhí)行的速度。

3、 python的對象模型會導(dǎo)致訪問內(nèi)存效率低下

相對于C語言,在python中對整數(shù)進行操作會有一個額外的類型信息層。

當有很多的整數(shù)并且希望進行某種批操作時,在python中往往會使用一個list,而在C中會使用某個基于緩存區(qū)的數(shù)組。

內(nèi)容擴展:

Python一種動態(tài)類型,解釋性的語言,對于很多開發(fā)者來說,Python運行慢是眾所周知的事情,其萬物皆對象的特性,就是導(dǎo)致其運行慢的一個原因,這篇文章就是想聊聊這里面的一些細節(jié)。

慢的原因

由于各種原因,Python比Fortran和C語言慢。

動態(tài)類型

Pythn是動態(tài)類型而不是靜態(tài)類型的,這意味著,在程序執(zhí)行時,解釋器并不知道變量的類型。下圖可以用來說明C變量和Python變量的區(qū)別

對C語言來說,編譯器在聲明變量的時候就知道其類型了;對Python來說,程序執(zhí)行時只知道一個變量是某種Python對象。

對于下面的C代碼

int a = 1;int b = 2;int c = a + b;

編譯器始終知道a和b是整型,在執(zhí)行相加運算時,流程如下:

把<int> 1賦值給a

把<int> 2賦值給b

調(diào)用binary_add<int, int>(a, b)

把結(jié)果賦值給c

實現(xiàn)同樣功能的Python代碼如下

a = 1b = 2c = a + b

解釋器只知道1和2是對象,但是并不知道這個對象的類型。所以解釋器必須檢查每個變量的PyObject_HEAD才能知道變量類型,然后執(zhí)行對應(yīng)的相加操作,最后要創(chuàng)建一個新的Python對象來保存返回值,大致流程如下:

把1賦值給a

設(shè)置a->PyObject_HEAD->typecode為整型 設(shè)置a->val = 1

把2賦值給b

設(shè)置a->PyObject_HEAD->typecode為整型 設(shè)置b->val = 2

調(diào)用binary_add<int, int>(a, b)

a->PyObject_HEAD獲取類型編碼 a是一個整型;值為a->val b->PyObject_HEAD獲取類型編碼 b是一個整型,值為b->val 調(diào)用binary_add<int, int>(a->val, b->val) 結(jié)果為整型,存在result中

創(chuàng)建對象c

設(shè)c->PyObject_HEAD->typecode為整型

設(shè)置c->val為result

動態(tài)類型意味著任何操作都會涉及更多的步驟。這是Python對數(shù)值操作比C語言慢的主要原因

到此這篇關(guān)于Python程序慢的重要原因的文章就介紹到這了,更多相關(guān)Python慢的重要原因內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产黄a三级三级三级 | 欧美a级毛片| 国内真实愉拍系列情侣 | 久草网站在线 | 色多多最新地址福利地址 | 最新最好看免费毛片基地 | 久久久久久久国产精品视频 | 欧美亚洲视频在线观看 | 欧美一级特黄视频 | 成人18视频在线 | 久久久久香蕉视频 | 美女张开腿双腿让男人桶 | 成年人在线观看视频免费 | 一级爱做片免费观看久久 | 亚洲精品91香蕉综合区 | 欧美一级毛片100部 欧美一级毛片aaaaa | 午夜淫片 | 亚洲精品亚洲一区二区 | 中文字字幕码一二区 | 久久精品国产精品青草 | 一级特黄性色生活片一区二区 | 成人满18在线观看网站免费 | 久久精品片 | 亚洲天堂在线视频观看 | 亚洲va久久久噜噜噜久久狠狠 | 亚洲精选在线观看 | 一本高清 | 韩国一级特黄清高免费大片 | 看久久久久毛片婷婷色 | 黄色网址在线免费观看 | 久久er热视频在这里精品 | 午夜私人影院免费体验区 | 久草在线看片 | 亚洲午夜精品一级在线 | 视频一区视频二区在线观看 | 亚洲第一网站免费视频 | 日本毛片免费看 | 97在线视频精品 | 日韩专区亚洲精品欧美专区 | 精品动漫一区二区 | 久久成人免费观看草草影院 |