久久久久久久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 |