相关疑难解决方法(0)

Python"范围"资源消耗

我写了以下脚本

基本上,我只是在学习机器学习的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)

python memory-management windows-7 python-2.7

2
推荐指数
1
解决办法
2559
查看次数

为什么打包这么慢?

我有一个简单的例子:

def __init__(self,string):
    self.string = string

def UI32(self):
    tmp = self.string[:4]
    self.string = self.string[4:]
    return unpack(">I",tmp)[0]

data = file.read()
U = UI(data)
for i in range(60000):
    test = UI32()

总时间:22秒!

python

1
推荐指数
1
解决办法
1461
查看次数

为什么list元素替换比python中的字符串元素替换慢?

我试图将数据结构中的一组元素替换为其他值.在python的情况下,在字符串中进行这种替换似乎比在列表中快得多(如下面的基准测试所示).有人可以解释原因.

注意:这些测试是使用python 2.7执行的.

def string_replace_test(s, chars):
    """Replaces a set of chars to 0"""
    new = s
    for c in chars:
        new = new.replace(c, '0')
    return new

def list_replace_test(s, chars):
    """Replaces a set of chars to 0"""
    for a in xrange(len(s)):
        if s[a] in chars:
            s[a] = '0'

if __name__ == '__main__':
    import timeit
    s = """
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec
        etfringilla purus. Pellentesque bibendum urna at neque consectetur
        at tincidunt nulla luctus. Pellentesque augue lacus, …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

1
推荐指数
2
解决办法
299
查看次数

在python中循环一系列数字的最简洁方法是什么?

所以我们说吧

start = 10
end = 30
Run Code Online (Sandbox Code Playgroud)

现在我需要一个循环,从去startend

我在考虑这样的事情:

for i in [start..end]
  print i
Run Code Online (Sandbox Code Playgroud)

但那不太奏效.有干净的方法吗?

python

0
推荐指数
1
解决办法
223
查看次数

用Python中的对数加速一个大循环

我正在尝试加速以下代码:

from math import log
from random import random

def logtest1(N):
    tr=0
    for i in range(1,N):
        T= 40 + 10*random()
        tr += -log(random())/T
Run Code Online (Sandbox Code Playgroud)

我是python的新手(来自matlab)...而这个相同的代码在python中运行速度比matlab(和Julia)慢5倍,这引起了我的注意.

我尝试使用numba和一个长尾小鹦鹉包装器,而不是python的numpy函数,但根本没有任何改进.

我很感激任何帮助.谢谢.

编辑:整个事情是蒙特卡罗模拟,所以N非常大... 10e6用于测试目的

python performance matlab logarithm

0
推荐指数
1
解决办法
673
查看次数

Python - 一个测试n∈{2,3,...,10}的等式a**n + b**n = c**n的函数

这不是一个功课问题,我可以向你保证.

我正在尝试编写一个测试相等性是否a**n + b**n = c**n 成立的函数

n∈{2,3,...,10}.如果存在等于n的值n,则函数应返回最低值,如a int.False如果相等不适用于给定范围内的任何n值,则该函数应返回.

例如

 print(f(3,4,5))
Run Code Online (Sandbox Code Playgroud)

输出:

2
Run Code Online (Sandbox Code Playgroud)

print(f(1,2,3))
Run Code Online (Sandbox Code Playgroud)

输出:

False
Run Code Online (Sandbox Code Playgroud)

我很想看到这个问题的不同方法.我向你保证这不是一个功课问题.提前致谢 :)

python

-4
推荐指数
1
解决办法
129
查看次数