精華區beta Programming 關於我們 聯絡資訊
※ 引述《richliu.bbs@bbs.poorman.org (新的人生)》之銘言: : ※ 引述《meltice.bbs@bbs.wretch.cc (三億兩千萬大散戶)》之銘言: : > 我猜以前寫程式大多時間都花在一個byte一個byte斤斤計較 : > 現在則是東西太多太雜了根本學不完 : 你害我想到小時候是拿 80x86 Instruction Set 寫程式比賽 : 再來算, 誰用的 instruction/clock 少. : 現在來看這種行為, 實在很豬頭. : 不僅僅是指令都是 1 clock 結束, 加上 pipeline/prefetch 等功能.... : 不過那個年代也因為如此, 早就知道演算法的重要性, clock 少沒有用 : 演算法正確才是王道..... assembly 還是有它的妙用, 可以拿來對 critical function 最佳化. 一個 function 被 call 個千萬次的時候, 每一行 code 可以說是寸土寸金. 而且, SIMD 有許多觀念也是從傳統的 assembly 來的. 比如說清空 register 用 xor 而非 mov, 可以減少 memory access. 而演算法還是有其極限, 相同的演算法還是可以有不同的 implement 方式. 同樣是整數乘法跟加法, 在 SIMD 裡用 pmull 或 pmadd 會有些差別. 同樣是浮點轉整數, 是否重設 rounding mode 速度可以差到三倍之多. 優秀的演算法可以讓效能大進, 而優秀的程式技巧可以錦上添花. 演算法廣為人知的時候, 要拼的就是程式技巧了. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.85.8.143