第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么Python代碼在函數(shù)中運(yùn)行得更快?

為什么Python代碼在函數(shù)中運(yùn)行得更快?

BIG陽(yáng) 2019-07-09 16:17:09
為什么Python代碼在函數(shù)中運(yùn)行得更快?def main():     for i in xrange(10**8):         passmain()Python中的這段代碼運(yùn)行在(注意:時(shí)間是用Linux中的Bash中的Time函數(shù)完成的)。real    0m1.841suser    0m1.828ssys     0m0.012s但是,如果for循環(huán)沒(méi)有放在函數(shù)中,for i in xrange(10**8):     pass然后它運(yùn)行的時(shí)間要長(zhǎng)得多:real    0m4.543suser    0m4.524ssys     0m0.012s這是為什么?
查看完整描述

3 回答

?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊

在函數(shù)內(nèi)部,字節(jié)碼是

  2           0 SETUP_LOOP              20 (to 23)
              3 LOAD_GLOBAL              0 (xrange)
              6 LOAD_CONST               3 (100000000)
              9 CALL_FUNCTION            1
             12 GET_ITER            
        >>   13 FOR_ITER                 6 (to 22)
             16 STORE_FAST               0 (i)

  3          19 JUMP_ABSOLUTE           13
        >>   22 POP_BLOCK           
        >>   23 LOAD_CONST               0 (None)
             26 RETURN_VALUE

在頂層,字節(jié)碼是

  1           0 SETUP_LOOP              20 (to 23)
              3 LOAD_NAME                0 (xrange)
              6 LOAD_CONST               3 (100000000)
              9 CALL_FUNCTION            1
             12 GET_ITER            
        >>   13 FOR_ITER                 6 (to 22)
             16 STORE_NAME               1 (i)

  2          19 JUMP_ABSOLUTE           13
        >>   22 POP_BLOCK           
        >>   23 LOAD_CONST               2 (None)
             26 RETURN_VALUE

區(qū)別在于STORE_FAST更快(!)比STORE_NAME..這是因?yàn)樵谝粋€(gè)函數(shù)中,i是一個(gè)地方性的,但在托普萊爾,它是一個(gè)全球性的。

若要檢查字節(jié)碼,請(qǐng)使用dis模塊..我能夠直接反匯編函數(shù),但為了反匯編toplevel代碼,我必須使用compile內(nèi)建.


查看完整回答
反對(duì) 回復(fù) 2019-07-09
  • 3 回答
  • 0 關(guān)注
  • 594 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)