亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

i++循環與i-循環的執行效率(遞增與遞減效率)

2024-07-21 02:02:22
字體:
來源:轉載
供稿:網友
昨天同事問了我一個問題,有兩個循環語句:
復制代碼 代碼如下:

for(i = n; i > 0; i--)
{

}

for(i = 0; i < n; i++)
{

}

為什么前者比后者快?
我當時的解釋是:
i- -操作本身會影響CPSR(當前程序狀態寄存器),CPSR常見的標志有N(結果為負), Z(結果為0),C(有進位),O(有溢出)。i > 0,可以直接通過Z標志判斷出來。
i++操作也會影響CPSR(當前程序狀態寄存器),但只影響O(有溢出)標志,這對于i < n的判斷沒有任何幫助。所以還需要一條額外的比較指令,也就是說每個循環要多執行一條指令。
(這是五年前tjww告訴我的,當時他在AVR上寫一個LCD驅動程序,使用后者LCD會閃爍,使用前者則沒有問題。)
為了確認我的理解是正確的,做了個實驗:
復制代碼 代碼如下:

int loop_dec(int n)
{
int i = 0;
int v = 0;

for(i = n; i > 0; i--)
v +=i;

return v;
}

int loop_inc(int n)
{
int i = 0;
int v = 0;

for(i = 0; i < n; i++)
v +=i;

return v;
}

用arm-linux-gcc編譯,然后反匯編:
i--的循環條件:
4c: e51b3014 ldr r3, [fp, #-20]
50: e3530000 cmp r3, #0 ; 0x0
54: cafffff5 bgt 30 <loop_dec+0x30>

i++的循環條件:
b8: e51b3018 ldr r3, [fp, #-24]
bc: e1520003 cmp r2, r3
c0: bafffff4 blt 98 <loop_inc+0x30>結果和我想象的并不一樣,這是怎么回事呢?我想可能因為沒有加優化選項,于是加上-O選項,結果變為:
i--的循環條件:
14: e2500001 subs r0, r0, #1 ; 0x1
18: 1afffffc bne 10 <loop_dec+0x10>

i++的循環條件:
3c: e2833001 add r3, r3, #1 ; 0x1
40: e1500003 cmp r0, r3
44: 1afffffb bne 38 <loop_inc+0x14>這下沒錯了,果然少一個cmp指令。
文章出處:http://www.limodev.cn/blog
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品一区二区女厕厕| 97色在线播放视频| 日韩免费av一区二区| 亚洲丝袜在线视频| 777午夜精品福利在线观看| 日韩亚洲国产中文字幕| 亚洲淫片在线视频| 国语自产精品视频在线看抢先版图片| 在线观看国产精品91| 日韩欧美中文第一页| 68精品国产免费久久久久久婷婷| 国产色婷婷国产综合在线理论片a| 国产在线不卡精品| 欧美色欧美亚洲高清在线视频| 午夜精品一区二区三区在线视| 欧美激情一区二区三区高清视频| 91精品国产综合久久男男| 国产视频久久网| 777777777亚洲妇女| 国产精品美女久久| 国产亚洲欧洲在线| 亚洲国产成人av在线| 欧美激情亚洲自拍| 91国产精品视频在线| 亚洲网站视频福利| 亚洲香蕉成人av网站在线观看| 国产精品2018| 欧美性黄网官网| www.亚洲天堂| 91免费的视频在线播放| 欧美激情亚洲综合一区| 亚洲美女www午夜| 中文字幕欧美视频在线| 国外成人免费在线播放| 久久99精品视频一区97| 亚洲天堂免费在线| 国产成人久久精品| 最近中文字幕mv在线一区二区三区四区| 欧美精品www在线观看| 精品欧美国产一区二区三区| 欧美中文字幕在线| 高清欧美性猛交xxxx| 久久69精品久久久久久久电影好| 欧美一级免费视频| 国语自产在线不卡| 菠萝蜜影院一区二区免费| 久久久999成人| 在线成人激情黄色| 日韩av在线直播| 亚洲男人天堂视频| 国产一区二区三区在线免费观看| 欧美精品videossex性护士| www.亚洲人.com| 国产成人综合av| 欧美日韩国产在线播放| 性欧美xxxx| 久久久中文字幕| 97欧美精品一区二区三区| 欧美美女操人视频| 欧美日韩成人在线播放| 日韩成人久久久| 欧美精品在线免费| 国产激情久久久久| 亚洲乱码av中文一区二区| 国产精品88a∨| 日韩在线不卡视频| 播播国产欧美激情| 国产一区二区三区四区福利| 亚洲精品欧美日韩| 成人黄色午夜影院| 欧美成人精品在线| 欧美在线观看网站| 国产欧美精品一区二区三区介绍| 亚洲精品电影网在线观看| 97视频在线观看视频免费视频| 色综合亚洲精品激情狠狠| 亚洲国产精品久久精品怡红院| 国产三级精品网站| 都市激情亚洲色图| 久久99热精品这里久久精品| 欧美激情va永久在线播放| 亚洲欧洲日产国码av系列天堂| 亚洲精品小视频在线观看| 国产精品视频一区二区高潮| 最近中文字幕2019免费| 欧美老女人bb| 国产精品专区一| 亚洲国产第一页| 国产日韩欧美视频在线| 久久精品国产成人精品| 亚洲欧洲在线看| 亚洲乱码一区av黑人高潮| 国产自产女人91一区在线观看| 欧美极品少妇xxxxⅹ喷水| 国产成人精品视频在线观看| 亚洲欧美日韩中文在线制服| 97在线视频精品| 精品中文字幕乱| 精品国产一区二区三区四区在线观看| 在线观看日韩视频| 中文字幕亚洲二区| 日韩欧美国产高清91| 91久久在线播放| 日本在线精品视频| 亚洲最大的av网站| 亚洲精品大尺度| 国产美女搞久久| 一本大道亚洲视频| 日韩亚洲第一页| 日韩欧美在线视频免费观看| 国产v综合v亚洲欧美久久| 国产精品一区二区三区毛片淫片| 国产精品第1页| 久久久国产精品亚洲一区| 97av视频在线| 国产精品高清在线观看| 亚洲精品久久久久久久久久久久久| 亚洲欧洲日产国产网站| 欧美一级片免费在线| 亚洲999一在线观看www| 51久久精品夜色国产麻豆| 北条麻妃久久精品| 亚洲精品98久久久久久中文字幕| 久久精视频免费在线久久完整在线看| 丝袜亚洲另类欧美重口| 国产男人精品视频| 日韩中文字幕视频在线| 亚洲精品中文字| 国产精品露脸av在线| 成人免费看片视频| 免费av在线一区| 国产精品久久91| 久久精品国产一区二区三区| 欧美日韩午夜视频在线观看| 91高清免费视频| 热99久久精品| 日韩一区二区av| 国产精品久久久久久久久男| 国产成人精品日本亚洲专区61| 亚洲日韩第一页| 国产欧美日韩中文| 欧美日韩国产成人高清视频| 亚洲欧美一区二区激情| 欧美午夜性色大片在线观看| 国产欧美日韩亚洲精品| 亚洲一区二区三区毛片| 海角国产乱辈乱精品视频| 久久久亚洲精选| 色多多国产成人永久免费网站| 欧美人成在线视频| 57pao成人国产永久免费| 日韩欧美精品在线观看| 国产精品日韩在线观看| www.日韩.com| 亚洲第一精品久久忘忧草社区| 欧美性开放视频| 欧美日本啪啪无遮挡网站| 日韩精品视频中文在线观看| 欧美中文字幕在线| 亚洲小视频在线观看| 亚洲精品ady| 国产v综合ⅴ日韩v欧美大片| 红桃视频成人在线观看| 午夜精品久久久久久久久久久久|