您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 宜昌分类信息网,免费分类信息发布

GET 技巧!python模块性能测试

2022/12/23 8:59:21发布42次查看
算法是程序的灵魂,,优秀的算法能给程序的效率带来极大的提升,而算法的优劣,往往要经过大量的测试。
在硬件环境基本不变的前提下,对算法实验的次数越多,测试算法运行效率的结果也就越接近真实值。
python内置的性能分析模块,可通过指定次数的反复测试,来对算法的运行时间进行累加,透过对比运行时间的长短,我们可以更直观的了解,不同算法之间的优劣。
以python列表的内置函数append和insert为例
python内置的性能测试方法timeit.timer.timeit()可用于对程序片段的执行耗时进行计数
以python列表insert方法和append方法快速创建1至1000的列表为例:
执行100次
100次
执行1000次
1000次
执行10000次
10000次
insert与append执行10000次相差了1.6秒,在不影响需求的情况下,建议尽量使用append提升效率。
源码:
import sys
import timeit
# 使用insert创建1~1000的数组
def insert_num():
thousand_list1 = list()
for i in range(1, 1001):
thousand_list1.insert(len(thousand_list1), i)
#print (thousand_list1)
# 使用append创建1~1000的数组
def append_num():
thousand_list2 = list()
thousand_list2.append(i)
#print(append_num,thousand_list2)
#使用列表生成式生成
def main():
name, num = sys.argv
num = int(num)
in_obj = timeit.timer(insert_num(),from __main__ import insert_num)
print(使用insert方法往列表插入1至1000, 方法反复执行%d次共耗时:%num,in_obj.timeit(number=num),秒)
in_obj = timeit.timer(append_num(),from __main__ import append_num)
print(使用append方法依次往列表插入1至1000,方法反复执行 %d次共耗时:%num,in_obj.timeit(number=num),秒)
if __name__ == __main__:
main()
end.
现开设线下交流分享群,有需要请加:wsy18717896120
51testing:专注于软件测试领域,自主研发软件测试工具,为客户提供全球领先的软件测试整体解决方案。
宜昌分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录