所以我有一个问题,我想知道你们是否可以帮助我。所以我现在正在编写一个程序,从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])
答案 0 :(得分:1)
Python支持线程,多个进程和队列。
通过简单地让多个工作人员执行工作,您可以获得一些速度,而不是一个必须等待的工人。基本上,您将“工作”划分为处理手头任务的多个程序(工作人员)。这比等待一个漫长的过程完成要快得多。
这里有类似的帖子:
答案 1 :(得分:0)
del(objlist[1])
如果这里的objlist
可能很长(超过几十个),那么这条线的复杂性很差:它会移动列表的所有末尾。您应该重构代码而不是这样做。例如,您可以安排要删除的项目是列表中的 last 项目,而不是索引1处的项目; del objlist[-1]
始终是一个固定时间操作。