Python"范围"资源消耗

Sam*_*y25 2 python memory-management windows-7 python-2.7

我写了以下脚本

基本上,我只是在学习机器学习的Python,并想检查计算密集型任务的执行情况.我观察到,对于10**8次迭代,Python占用了大量的RAM(大约3.8 GB)并且还占用了大量的CPU时间(只是冻结了我的系统)

我想知道是否有任何方法可以通过代码或某些全局设置来限制时间/内存消耗

脚本 -

initial_start = time.clock()
for i in range(9):
 start = time.clock()
 for j in range(10**i):
  pass
 stop = time.clock()
 print 'Looping exp(',i,') times takes', stop - start, 'seconds'
final_stop = time.clock()
print 'Overall program time is',final_stop - initial_start,'seconds'
Run Code Online (Sandbox Code Playgroud)

Ste*_*ski 5

在Python 2中,range创建一个列表.请xrange改用.有关更详细的说明,请参阅您是否总是喜欢xrange()超出范围()?

请注意,无操作循环是一个非常差的基准测试,它几乎不会告诉您任何关于Python的信息.

另请注意,根据gnibbler的评论,Python 3的range工作方式与Python 2类似xrange.

  • 请注意,Python3 中的 `range()` 的工作方式类似于 Python2 中的 `xrange()` (2认同)