计算机速度和Python运行时间

2024-05-23 17:49:43 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个问题,我想知道你们能不能帮我。所以我现在正在写一个程序,从html页面中提取一些字符串并将它们添加到列表中。我有50页我正在从中提取数据。当我运行程序时,收集数据需要45到55秒。不错,但我得在15-20秒左右的地方。你知道吗

所以这里是我的问题:我的电脑有一个800MHz的进程(是的,我知道,它有四年的历史),我即将得到一个新的电脑,有一个更快的处理器会有帮助吗?如果是这样的话,我应该寻找什么速度的处理器来达到我想要的速度。这个速度是否与处理器速度或连接速度有关(我的互联网连接对于这个应用程序来说绝对足够快)?它能加速吗?你知道吗

谢谢!你知道吗

附加:

这是使用的代码。你知道吗

此函数用于创建存储数据的列表列表

def makesobjlist(objs, length):
    sets = [objs]
    for obj in objs:
        objlist = [obj]
        for i in range(1,length+1):
            objlist.append(0)
        sets.append(objlist)
    return sets

下面的函数将更新列表列表

def update(objslist):
    for i in range(1, len(objslist)):
        objlist = objslist[i]
        objlist.append(getdata(objlist[0]))
        del(objlist[1])

Tags: 数据函数in程序列表fordefsets
2条回答

Python支持线程、多进程和队列。你知道吗

只需让多个工人执行工作,而不是让一个工人等待,您就可以获得一定的速度。基本上,您将“工作”划分到处理手头任务的多个程序(worker)中。这比等待一个长过程完成要快得多。你知道吗

类似的帖子:

Threading in python using queue

Multiprocessing vs Threading Python

del(objlist[1])

如果这里的objlist可能很长(超过几十个),那么这一行的复杂性就不好了:它会移动列表的所有末尾。你应该重构代码来避免这样做。例如,您可以安排要删除的项是列表的最后一个项,而不是索引1处的项;del objlist[-1]始终是一个常量时间操作。你知道吗

相关问题 更多 >