[問題] C 語言有機械週期嗎??

看板C_and_CPP作者 (小新)時間15年前 (2009/07/20 21:58), 編輯推噓7(7024)
留言31則, 7人參與, 最新討論串1/4 (看更多)
只知道組合語言有機械週期 請問C 也有嗎? 指令的cycle等等.. 哪裡有相關資料? 感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.219.72

07/20 22:01, , 1F
07/20 22:01, 1F

07/20 22:01, , 2F
會比較完整。書名突然忘了
07/20 22:01, 2F

07/20 22:18, , 3F
感謝 @@ 書名是??
07/20 22:18, 3F

07/20 22:23, , 4F
C轉成exe後就變組合語言了 ? //現在機械週期也不大準了...
07/20 22:23, 4F

07/20 22:30, , 5F
那我要怎麼查出目前程式執行的速度??
07/20 22:30, 5F

07/20 22:30, , 6F
怎轉@@??
07/20 22:30, 6F

07/20 22:33, , 7F
沒有。
07/20 22:33, 7F

07/20 22:36, , 8F
http://zf.try2.org/blog/read.php/79.htm 原來不用錢,我誤會
07/20 22:36, 8F

07/20 22:37, , 10F
現在都有些效能分析的軟體,不是很講究就不用看指令集了
07/20 22:37, 10F


07/20 23:00, , 12F
有像51書那樣列出每個指令的cycle之資料嗎?
07/20 23:00, 12F

07/20 23:00, , 13F
目的是想增快程式執行的速度!!
07/20 23:00, 13F

07/20 23:14, , 14F
C 語言沒有「指令」只有「敘述」,敘述的 cycle 不固定。
07/20 23:14, 14F

07/20 23:14, , 15F
所以不用浪費時間找資料了,你要的只是效能分析器。
07/20 23:14, 15F

07/20 23:21, , 16F
那請問有哪些方法可以增快程式執行的速度?
07/20 23:21, 16F

07/20 23:22, , 17F
用在8051的應用上 硬體不做改變狀況下...所以我才想...
07/20 23:22, 17F

07/20 23:24, , 18F
以增快程式執行的速度 盡量減少一點硬體動作上的所需時間
07/20 23:24, 18F

07/20 23:35, , 19F
用機器碼刻 or 用組語刻 or 編譯器優化(應該要刻一些髒code)
07/20 23:35, 19F

07/20 23:36, , 20F
大部分的編譯器都有把程式碼->CPU指令的功能,自己轉完判斷
07/20 23:36, 20F

07/20 23:36, , 21F
要加速的地方組語直接上。
07/20 23:36, 21F

07/21 00:26, , 22F
z大的書 網站上都有download, 之前我就有下載過看一部份
07/21 00:26, 22F

07/21 00:27, , 23F
intel 網站有免費 download
07/21 00:27, 23F

07/21 02:35, , 24F
改變演算法如何? XD
07/21 02:35, 24F

07/21 19:14, , 25F
加組語有試過 @@ 不過 會有錯誤..結論:這方法還是不太會.
07/21 19:14, 25F

07/21 19:14, , 26F
懇請教導
07/21 19:14, 26F

07/21 19:15, , 27F
書我去找找 感謝!!
07/21 19:15, 27F

07/21 21:48, , 28F
主要還是看你對語言的熟悉程度。簡單的例子,你用浮點數,轉成
07/21 21:48, 28F

07/21 21:49, , 29F
CPU指令,光看指令數就多好幾行,也不用管clock cycle,接下來
07/21 21:49, 29F

07/21 21:50, , 30F
也要你知道可以用比如int來替代才能真的加速到。
07/21 21:50, 30F

07/21 21:51, , 31F
就算說是窮舉,全部用看看,再比較cycle,那也要你窮舉的出來
07/21 21:51, 31F
文章代碼(AID): #1AP7VnLy (C_and_CPP)
文章代碼(AID): #1AP7VnLy (C_and_CPP)