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