PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[閒聊] 用if else規避一些條件反而更慢?
作者:
ericerix
(Ponwar)
2020-12-06 11:14:05
選手1號:
https://pastebin.com/TL2Ys690
選手2號:
https://pastebin.com/B6i600fX
這是integer轉羅馬的題目,
令我比較意外的是,
選手1號有去判斷temp是否為0,是的話直接換下一個不囉唆
而選手2號沒有去判斷,而是即使是0也照著做,感覺會多運算一些,例如下面mod
而實測結果居然是選手2號比較快?
所以可以理解成,判斷是否為0比mod還要慢囉?
那這樣到底要什麼時候去下if else來使程式變快而不是變慢?
作者:
LP9527
(ㄊㄇ抽菸都去)
2020-12-06 13:46:00
大部分計算比判斷快
作者:
art1
(人,原來不是人)
2020-12-06 14:07:00
因為 CPU 的分支預測猜錯了就會慢很多,所以一些最佳化方法會用特殊技巧讓判斷變成計算
作者:
shane87123
(陽光大肥宅)
2020-12-06 15:38:00
借串問 dict和array存取速度是否也有差別?
作者:
pmove
(金疾檸檬)
2020-12-06 17:45:00
dict 是hash 很快喔
作者:
OrzOGC
(洞八達人.拖哨天王)
2020-12-06 18:24:00
dict存取感覺都慢array很多
作者:
pmove
(金疾檸檬)
2020-12-06 19:57:00
Array在Python叫list, 跟dict比速度,詳細要看您怎麼用?如果您要存取的list元素要線性搜尋,這時改用dict 會快很多
作者:
miwuz
(ibike)
2020-12-06 20:40:00
推樓上~
作者:
germun
(ger)
2020-12-06 22:49:00
不保證誰快 不過有些方法的優勢要在資料量大才顯現的出來
作者:
DLHZ
( )
2020-12-07 01:25:00
詳情請見算盤本 簡單來說因為處理器中pipeline設計的緣故會有些難以處理的情況 而if系列的指令就是其中一種(control hazard) 雖然有更進一步改進解決的方法 但一般來說能避免判斷式的寫法還是會比較快 有錯還請指正
作者:
leolarrel
(真.粽子無雙)
2020-12-08 16:48:00
可以google "CPU 管線 分支預測"
繼續閱讀
Re: [問題] function 選擇性使用 default kwarg
art1
[問題] 多類別分類
nancyyen
[問題] module not found error
faceoflove56
[問題] 新手請益opencv計算圖像尺寸
lovebeauty
Re: [問題] function 選擇性使用 default kwarg
bazoo
Re: [問題] function 選擇性使用 default kwarg
lycantrope
Re: [問題] function 選擇性使用 default kwarg
ddavid
[問題] function 選擇性使用 default kwarg
papple23g
[閒聊] KMeans聚類方法
nicha115
[問題] anaconda import poblem
wewe9876
Links
booklink
Contact Us: admin [ a t ] ucptt.com