久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
C語言順序執行與for循環執行哪個更快?
[打印本頁]
作者:
hxdby
時間:
2023-9-21 22:21
標題:
C語言順序執行與for循環執行哪個更快?
想問下,代碼順序執行,與for循環的方式執行,哪個更快些?
舉例:
void check_score()
{
get_score_flag1=1;
get_score_flag1=1;
get_score_flag1=1;
get_score_flag1=1;
}
作者:
188610329
時間:
2023-9-21 22:56
單純考慮執行速度的話,
相同代碼 打 4遍 肯定 比循環 4次 要快的多。
甚至,不要寫子函數, 直接在 主程序里 輸入代碼 一定是最快的。
作者:
hero_71
時間:
2023-9-21 23:58
以ARM精簡指令集為例,執行速度取決于相同功能,編譯后產生的匯編指令有多少條。如果順序執行和for循環展開的代碼邏輯一樣,那么,執行效率應該是相當的。
個人覺得,考慮執行效率更應該是for循環嵌套的場景,此時,遍歷次數多的應該放在內層循環,這樣執行效率會高一些。另外,switch case語句和if else語句的執行效率也是經常討論的場景,單層情況下效率相當,嵌套場景switch case語句效率高。
作者:
Hephaestus
時間:
2023-9-22 00:54
不優化的時候,當然是順序執行快,但是for循環省空間,以空間換時間。
把優化等級開到最高,很大可能一樣快,取決于你的優化方向,如果是size順序執行很可能跟for循環一樣小,如果是speed那么for很可能跟順序一樣快。
作者:
rayin
時間:
2023-9-23 07:21
順序執行少了條件判斷,要快. 但實際上條件判斷執行時間才幾us時間. 根本覺察不出來. 還不如用for循環來做.
作者:
Hephaestus
時間:
2023-9-23 10:50
仔細看了下,原來get_score_flag1不是函數而是變量啊!
Keil C51比較特殊會假定用戶都是不懂volatile這個關鍵字的制杖,但是對于其他標準一些的c編譯器來說,只要get_score_flag1沒有volatile屬性,優化等級開到足夠高,不管你是寫4遍還是for4遍,結果只能有get_score_flag1=1;這一句話,一樣快。
作者:
fishafish
時間:
2023-9-23 12:30
一般看編譯后匯編代碼的行數,行數少更快,早期單片機速度慢需要考量代碼量,現在單片機非常快不用考慮代碼量,影響速度的主要是AD轉換以及其他的等待時間。
作者:
1600277881
時間:
2023-9-24 07:18
hero_71 發表于 2023-9-21 23:58
以ARM精簡指令集為例,執行速度取決于相同功能,編譯后產生的匯編指令有多少條。如果順序執行和for循環展開 ...
你確定驗證過你所說的?
作者:
1600277881
時間:
2023-9-24 07:22
就速度而言,不管51還是ARM, 順序都是最快, 樓上說一樣還甚至說for循環更快的, 最后先驗證再來說。
作者:
zyluglugl
時間:
2023-9-24 21:54
順序執行要快一些,你看看匯編代碼就知道了。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲成人免费在线观看
|
亚洲成av
|
激情欧美一区二区三区中文字幕
|
国产精品久久久久久亚洲调教
|
成人三级影院
|
亚洲成人动漫在线观看
|
精品国产乱码久久久久久久久
|
亚洲午夜精品视频
|
a级毛片毛片免费观看久潮喷
|
天堂av中文在线
|
欧美国产日韩在线观看
|
免费三级网站
|
日韩视频在线一区
|
精品无码三级在线观看视频
|
亚洲日本激情
|
日韩色图在线观看
|
国产伦精品一区二区三区在线
|
久久黄色精品视频
|
欧美日韩a
|
一区二区手机在线
|
北条麻妃视频在线观看
|
国产成人精品一区二区三区四区
|
日韩精品久久
|
国产高清一区二区
|
欧美1区
|
欧美视频成人
|
野狼在线社区2017入口
|
国产成人一区二区
|
国产精品美女在线观看
|
青娱乐av
|
欧美日韩国产一区二区三区
|
一级欧美
|
欧美一区二区三区在线
|
不卡的av电影
|
中文在线亚洲
|
一级二级三级在线观看
|
国产亚洲久
|
91在线观看免费
|
www.亚洲视频
|
色婷婷久久综合
|
一区二区av
|