2024-04-25 19:32:18 发布
网友
我正在写一个脚本,将上传文件到云帐户。将有包含文件的各种目录,但只有一个深度…目录中将有无嵌套/目录。每个目录都是一个容器,文件将放在其中。有时文件可能多达300000个文件。我将使用多重处理。你知道吗
我想使用sqlite跟踪文件名、输出信息、返回代码,所以我有几个问题:
1)如果我只让sqlite3在内存中运行,而不是作为平面文件运行(因为我只需要信息,直到我完成脚本),它会膨胀内存吗? 2) 使用sqlite3与使用大量列表或列表字典进行跟踪相比,会对性能产生重大影响吗?你知道吗
如果不需要将结果保存在磁盘上,可以在主进程中使用字典结构。 然后可以使用.imap_unordered实时管理结果。你知道吗
.imap_unordered
在伪码中
files = [....] results = {} r = pool.imap_unordered(uploadfile, files) for res in r: results[res.fileid] = res.statuscode #for example print_results_summary()
内存影响取决于存储在results字典中的信息。 对于存储结果状态代码的300000个条目来说,这并不算太多。你知道吗
results
在我的系统中,一个具有300.000int值的字典使python进程增长了大约20mb。你知道吗
int
如果不需要将结果保存在磁盘上,可以在主进程中使用字典结构。 然后可以使用
.imap_unordered
实时管理结果。你知道吗在伪码中
内存影响取决于存储在
results
字典中的信息。 对于存储结果状态代码的300000个条目来说,这并不算太多。你知道吗在我的系统中,一个具有300.000
int
值的字典使python进程增长了大约20mb。你知道吗相关问题 更多 >
编程相关推荐