所以我有一个问题,我想知道你们能不能帮我。所以我现在正在写一个程序,从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])
Python支持线程、多进程和队列。你知道吗
只需让多个工人执行工作,而不是让一个工人等待,您就可以获得一定的速度。基本上,您将“工作”划分到处理手头任务的多个程序(worker)中。这比等待一个长过程完成要快得多。你知道吗
类似的帖子:
Threading in python using queue
Multiprocessing vs Threading Python
如果这里的
objlist
可能很长(超过几十个),那么这一行的复杂性就不好了:它会移动列表的所有末尾。你应该重构代码来避免这样做。例如,您可以安排要删除的项是列表的最后一个项,而不是索引1处的项;del objlist[-1]
始终是一个常量时间操作。你知道吗相关问题 更多 >
编程相关推荐