[問題] 怎麼看高階語言指令使用的 cycle time?

看板C_and_CPP作者 (藍影)時間14年前 (2010/12/03 06:47), 編輯推噓6(6015)
留言21則, 4人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 Programming 看板 #1C-98phM ] 作者: tropical72 (藍影) 看板: Programming 標題: [問題] 怎麼看高階語言指令使用的 cycle time? 時間: Fri Dec 3 14:46:08 2010 先說抱歉, 我不是很明白標題怎麼下. 本身是用 C language, 近期一些特殊需求, 開始翻 paper, 將一些數學函式 - 三角,反三角.幕次..etc 想寫得較快, 目前是用高精度計時器去跑1000次計時,但有時出來效果很不穩 ( 有時用 math.h 比較快,有時用我寫的比較快) 後來查一些網頁,大多是從編出來的組語去分析 cycle time. 無奈偏偏沒接觸組語, 希望有經驗的人能提供一些方向, 以解決我的二個問題 (1) 怎麼看 C 語言編出來的組語? (2) 翻出來的 add, sub, mult, div 所用的 cycle time 我只知道是固定的, 是否有相關網址 or datasheet 可查這些 cycle time? 謝謝各位的不吝指教,感激不盡! -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142 -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142

12/03 14:58, , 1F
Intel VTune 似乎可以分析,沒用過,看其他高手怎麼說
12/03 14:58, 1F

12/03 15:04, , 2F
謝謝p大,我晚些去看軟體介紹.另 #14EBEVn3 這篇有提到,
12/03 15:04, 2F

12/03 15:05, , 3F
用shift代替div未必比較快(因complier關係),即使是這樣
12/03 15:05, 3F

12/03 15:06, , 4F
是否代表還是要分析出來的asm才是較為準確的?
12/03 15:06, 4F

12/03 15:27, , 5F
從asm去比較哪個快,要高手才能做到,一般人用Profiler測
12/03 15:27, 5F

12/03 15:28, , 6F
看哪個比較花的時間比較少,指令週期比較少就好了
12/03 15:28, 6F

12/03 15:36, , 7F
可以講一下為何要算cycle time嗎?
12/03 15:36, 7F

12/03 15:42, , 8F
to eric:我真正目的是要比較我寫的函式速度和math.h提
12/03 15:42, 8F

12/03 15:43, , 9F
供的速度誰跑得比較快,一派做法是用計時器去計時;另一
12/03 15:43, 9F

12/03 15:43, , 10F
派做法是分析哪個func所用的clock time最少.
12/03 15:43, 10F

12/03 15:47, , 11F
clock cycle 受到的干擾比較少 但實際跑和branch
12/03 15:47, 11F

12/03 15:47, , 12F
prediction 的優化也有關係
12/03 15:47, 12F

12/03 15:48, , 13F
組語真是讓我頭大啊~~謝謝p大和j大指導,過幾天把我測出
12/03 15:48, 13F

12/03 15:49, , 14F
來的po上來.. 謝謝各位.
12/03 15:49, 14F

12/03 16:04, , 16F
你讓我想到了這篇開根號取倒數
12/03 16:04, 16F

12/03 16:14, , 17F
我比較推p大上上推的連結那種方式,不用完全用組語的角度
12/03 16:14, 17F

12/03 16:15, , 18F
去研究怎麼優化c codes.
12/03 16:15, 18F

12/03 16:28, , 19F
p 大給的網址太強了,MHAKEMEMC 有好多噁心的數字啊~~
12/03 16:28, 19F

12/03 16:30, , 20F
numerical programming, 或許對你也有幫助.
12/03 16:30, 20F

12/03 16:32, , 21F
嗯,這陣子就是在摸類似的東西,謝謝樓上建議.
12/03 16:32, 21F
文章代碼(AID): #1C-99bdi (C_and_CPP)
文章代碼(AID): #1C-99bdi (C_and_CPP)