没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
python 性能优化实践
stevegao(高家华)
课程介绍
1. Python性能分析
2. Python性能优化的技巧
3. Python性能优化实践
1. 避免重复计算
代码
测试
#lcm_test0.py
deflowest_common_multiplier(arg1,arg2):
i=max(arg1,arg2)
whilei<(arg1*arg2):
ifi%min(arg1,arg2)==0:
returni
i+=max(arg1,arg2)
return(arg1*arg2)
printlowest_common_multiplier(41391237,2830338)
#lcm_test1.py
deflowest_common_multiplier(arg1,arg2):
i=max(arg1,arg2)
_max=i
_min=min(arg1,arg2)
whilei<(arg1*arg2):
ifi%_min==0:
returni
i+=_max
return(arg1*arg2)
printlowest_common_multiplier(41391237,2830338)
GIL
(Global Interpreter Lock)全局解释器锁
Python解释器被GIL保护,该锁定只允许一次执行一个线程,即便存在多个可用的处理器。在计算型密集
的程序中,严重限制了线程的作用。实际上,就像上边我们看到的那样,在密集计算型程序中使用多线
程,经常比顺序执行慢很多。
缺点:
fromtimerimportTimer
importthreading
importtime
defcompute():
foriinxrange(10000):
rs=0
foriinxrange(1000):
rs+=i
defmysleep():
time.sleep(1)
deftest(func):
printfunc.__name__
withTimer()ast:
foriinxrange(10):
func()
print"=>singlethread10times:%ss"%t.secs
withTimer()ast:
thread_list=[]
foriinxrange(10):
th=threading.Thread(target=func,args=())
th.start()
thread_list.append(th)
forthinthread_list:
th.join()
print"=>multiplethreads1time:%ss"%t.secs
if__name__=="__main__":
test(compute)
test(mysleep)
剩余16页未读,继续阅读
资源评论
晕过前方
- 粉丝: 113
- 资源: 328
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功