Re: [閒聊] 老遊戲的變態程式碼

看板C_Chat (希洽)作者 (petohtalrayn)時間6小時前 (2025/07/23 11:34), 編輯推噓10(1009)
留言19則, 12人參與, 3小時前最新討論串4/4 (看更多)
閒聊 https://youtu.be/xyteUTr3wpc?si=YkbDeoBcABXpUqm9
有人實測這個演算法跟傳統取平方根的速度到底差多少 就用電腦跑1到100億的平方根 結果 一般取平方根的演算法花了80秒 這個快速取平方根的演算法花了45秒 確實蠻快的 但現在幾乎沒有人在用這個演算法了, 原因是有更快的:rsqrt 用這個指令演算一樣的1到100億的平方根只要7.5秒 雖然越快就誤差越大就是了,rsqrt大概差2%,比起上面的快速取平方根誤差1%以下略多 因此rsqrt的結果有時候需要用牛頓法再削減誤差 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.157.140 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1753241641.A.AB8.html

07/23 11:36, 6小時前 , 1F
那rsqrt又是基於什麼原理能這麼快
07/23 11:36, 1F

07/23 11:39, 6小時前 , 2F
因為人家不是只有軟體
07/23 11:39, 2F

07/23 11:40, 6小時前 , 3F
現在好像滿多演算法都有在進化 不過沒碰底層也不了解
07/23 11:40, 3F

07/23 11:42, 6小時前 , 4F
效能不夠才需要優化,現在都快到硬幹了,除非更複雜的問題
07/23 11:42, 4F

07/23 11:48, 6小時前 , 5F
因為人家那是指令集直接提供給你的 等於他直接用硬體算
07/23 11:48, 5F

07/23 11:48, 6小時前 , 6F
不管你怎麼快都沒辦法快過他
07/23 11:48, 6F

07/23 11:50, 6小時前 , 7F
rsqrt有印象 好像是sse裡面的
07/23 11:50, 7F

07/23 12:02, 6小時前 , 8F
這兩個是一樣的東西
07/23 12:02, 8F

07/23 12:02, 6小時前 , 9F
但是rsqrt是直接硬體化寫在CPU指令集裡面
07/23 12:02, 9F

07/23 12:06, 6小時前 , 10F
你演算法再怎優化,人家一樣的邏輯寫在指令集內一定比你
07/23 12:06, 10F

07/23 12:06, 6小時前 , 11F
07/23 12:06, 11F

07/23 12:22, 5小時前 , 12F
長知識了
07/23 12:22, 12F

07/23 12:24, 5小時前 , 13F
SSE是後來的事了,在DOOM年代都要靠軟體工程師軟解,所以
07/23 12:24, 13F

07/23 12:24, 5小時前 , 14F
才有神
07/23 12:24, 14F

07/23 12:25, 5小時前 , 15F
而且那是硬解還可能出包的年代(FDIV bug),到頭來自幹保險
07/23 12:25, 15F

07/23 12:29, 5小時前 , 16F
硬體層級 猛
07/23 12:29, 16F

07/23 12:40, 5小時前 , 17F
身為一個鄙視鍊接近底層的工程師 看到以前工程師都自己土炮
07/23 12:40, 17F

07/23 12:40, 5小時前 , 18F
演算法或神奇技術都覺得超爆幹屌 我只能用IDE提示和AI 廢物
07/23 12:40, 18F

07/23 14:30, 3小時前 , 19F
樓上別太難過,也不是每個以前的工程師都能土炮出這種東西
07/23 14:30, 19F
文章代碼(AID): #1eW5Wfgu (C_Chat)
文章代碼(AID): #1eW5Wfgu (C_Chat)