看板 C_Chat 關於我們 聯絡資訊
閒聊 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
yamis: 那rsqrt又是基於什麼原理能這麼快 07/23 11:36
lovez04wj06: 因為人家不是只有軟體 07/23 11:39
hh123yaya: 現在好像滿多演算法都有在進化 不過沒碰底層也不了解 07/23 11:40
BApple: 效能不夠才需要優化,現在都快到硬幹了,除非更複雜的問題 07/23 11:42
p3398530: 因為人家那是指令集直接提供給你的 等於他直接用硬體算 07/23 11:48
p3398530: 不管你怎麼快都沒辦法快過他 07/23 11:48
ltytw: rsqrt有印象 好像是sse裡面的 07/23 11:50
orze04: 這兩個是一樣的東西 07/23 12:02
orze04: 但是rsqrt是直接硬體化寫在CPU指令集裡面 07/23 12:02
orze04: 你演算法再怎優化,人家一樣的邏輯寫在指令集內一定比你 07/23 12:06
orze04: 快 07/23 12:06
v86861062: 長知識了 07/23 12:22
Segal: SSE是後來的事了,在DOOM年代都要靠軟體工程師軟解,所以 07/23 12:24
Segal: 才有神 07/23 12:24
Segal: 而且那是硬解還可能出包的年代(FDIV bug),到頭來自幹保險 07/23 12:25
inte629l: 硬體層級 猛 07/23 12:29
spfy: 身為一個鄙視鍊接近底層的工程師 看到以前工程師都自己土炮 07/23 12:40
spfy: 演算法或神奇技術都覺得超爆幹屌 我只能用IDE提示和AI 廢物 07/23 12:40
ezuze: 樓上別太難過,也不是每個以前的工程師都能土炮出這種東西 07/23 14:30