Python应用优化提速路之测速01-range、xrange、while的比较

在处理大量数据时,为提升效率,博主对比了Python中的range、xrange和while循环的执行速度。测试结果显示,while循环速度最快,xrange次之,range最慢。尽管如此,对于整体100秒级别的应用,这些差异影响不大,意味着需要从其他方面寻求优化方案。
摘要由CSDN通过智能技术生成

因为数据量大,处理时间过长,需要想办法提速。看网上文档说了一些,于是测试了下range和xrange等的循环方式的速度,看是否有大差别。

测试代码:

import os,sys,time,datetime

def doWhile(dc0):
  #print dc0
  print "while"
  dt0=datetime.datetime.now()
  idx=0
  while idx<dc0:
    idx=idx+1
    continue
  dt1=datetime.datetime.now()
  print (dt1-dt0)

def doRange(dc0):
  print "range"
  dt0=datetime.datetime.now()
  for i in range(dc0):
    continue
  dt1=datetime.datetime.now()
  print (dt1-dt0)

def doXrange(dc0):
  print "xrange"
  dt0=datetime.datetime.now()
  for i in xrange(dc0):
    continue
  dt1=datetime.datetime.now()
  print (dt1-dt0)

if __name__=="__main__":
  dataCount=60*60*24*100
  print dataCount
  doWhile(dataCount)
  doRange(dataCount)
  doXrange(dataCount)
测试结果:


看运行计时,速度基本是稳定的。不过没有想到的是while竟然比range还要快。而xrange果然比range快的多。不过对于整个应用的100秒量级来说,其速度差异基本没有多少影响。

看来需要找其他地方优化了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值