栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用求幂** 0.5比math.sqrt效率低吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用求幂** 0.5比math.sqrt效率低吗?

从理论上讲,hammar的答案和duffymo的答案是很好的猜测。但在实践中,我的机器上,这是 不是 更有效:

>>> import timeit>>> timeit.timeit(stmt='[n ** 0.5 for n in range(100)]', setup='import math', number=10000)0.15518403053283691>>> timeit.timeit(stmt='[math.sqrt(n) for n in range(100)]', setup='import math', number=10000)0.17707490921020508

问题的一部分是

.
操作。如果
sqrt
直接导入到名称空间中,则可以得到一些改进。

>>> timeit.timeit(stmt='[sqrt(n) for n in range(100)]', setup='from math import sqrt', number=10000)0.15312695503234863

那里的关键字: 轻微

进一步的测试表明,随着数量的增加,您从使用中获得的收益

sqrt
也会增加。但是仍然不是很多!

>>> timeit.timeit(stmt='[n ** 0.5 for n in range(1000000)]', setup='import math', number=1)0.18888211250305176>>> timeit.timeit(stmt='[math.sqrt(n) for n in range(1000000)]', setup='import math', number=1)0.18425297737121582>>> timeit.timeit(stmt='[sqrt(n) for n in range(1000000)]', setup='from math import sqrt', number=1)0.1571958065032959


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662510.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号