精華區beta Programming 關於我們 聯絡資訊
> WPC.bbs@bbs.nhctc.edu.tw (找一個理由...) wrote: > 這大概是P4討厭rol / ror / imul等指令... 先天不良的行為所致 > (但是我能避開的就已經避開了, 整個碼也是依照P4/Xeon optimal manual來寫) > CPU越來越複雜,就自然越來越難最佳化, 此時高階語言的優勢就會跑出來 > P4一直都讓我感到很頭痛... :( > (不過有些時候P4的效能還是會比較好, 例如我寫RSA的部份, > 會運用到大量的add 此時P4的性能就比P3好很多...) 想跟現在進步到快不行的編譯器之「最佳化器」比「最佳化」! 那是愈來愈難囉! 人類會用一堆速度加快的新指令, 它也會用; 人類不時的想替換 mul, div 這種指令, 它也會替換. 人類會看 P4/Xeon optimal manual 中的步數, 它也這種步數. 跟現在的軟體, 較量「最佳化」的那種感覺, 真的很像在跟電腦 下西洋棋一樣. 它可考慮的步數, 通常都可以比人類棋手要多上 許多. 那天, 有人又想到的那些新的最佳化理論、招數; 那些編譯器的 廠商, 就會想辦法給它加進去. 執行效率最好的碼, 肯定不是那種讓人類 "最易讀" 的那種程式 碼! 現在的最佳化器, 真的可以佳化出那種樣子的碼. 反組譯出 來, 很難分析. 儘管在原始檔上, 結構分明, 易讀性一級棒. 若說人類手工佳化, 有如用人手把衣服扭乾; 用軟體佳化, 愈來 愈可以把它比喻成, 用脫水機把衣服甩乾, 想從中再扭出一滴水 來, 相當困難... -- Free Tech (Win32Asm, Electronics..) http://freetech.cjb.net/ Updated: April-15, 2004 / 14:35