- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在使用 Python 的多处理模块分析一些代码('job' 函数只是数字的平方)。
data = range(100000000)
n=4
time1 = time.time()
processes = multiprocessing.Pool(processes=n)
results_list = processes.map(func=job, iterable=data, chunksize=10000)
processes.close()
time2 = time.time()
print(time2-time1)
print(results_list[0:10])
我发现奇怪的一件事是最佳 block 大小似乎约为 10k 个元素 - 这在我的计算机上花费了 16 秒。如果我将 block 大小增加到 100k 或 200k,那么它会减慢到 20 秒。
这种差异是否是由于较长列表的酸洗所需时间较长? 100 个元素的 block 大小需要 62 秒,我假设这是由于在不同进程之间来回传递 block 所需的额外时间。
最佳答案
关于最佳 block 大小:
由于这两个规则需要不同的方法,中间的一点就是要走的路,类似于供需图表。
关于Python 多处理 : why are large chunksizes slower?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40799172/
我在 Pandas 中创建了一个大型数据库,大约有 600 万行文本数据。我想将其保存为 SQL 数据库文件,但当我尝试保存它时,出现内存不足 RAM 错误。我什至将卡盘尺寸减小到 100,但它仍然崩
我目前正在查看WAV文件的以下信息,并且遇到了其标题内包含的WAV文件的“ChunkSize”。但是,我无法理解ChunkSize的值是如何计算的。根据 http://tiny.systems/sof
我最近偶然发现了两种可能的 rasterOptions,它们可以提高 R 中光栅操作的性能:chunksize 和 maxmemory。然而我很困惑有什么区别。帮助页面指出: block 大小:在处理
我想读取一个大的 csv 文件,所以我使用了 pandas 的 chunksize 方法迭代器。但是我得到了一个 ParserError 所以我想使用 try except 并且当我得到这个错误时我想
我想比较两个具有相同路径结构和所有子文件夹中相同文件的文件夹。该文件夹相当大,大小约为80GB,文件数量为8000个。 我想确保两个顶级目录下的每个相应文件对具有相同的 md5 校验和值。我写了一个简
下面是我使用 chunksize 从数据库中选择数据的程序。 # Give my large required list subset = pd.read_csv(required_list, ind
我有一个 1GB、70M 行的文件,每次我加载它时它都会耗尽内存。我已经阅读了 1000 行,并且能够制作出我希望它执行的原型(prototype)。 我的问题是不知道如何获取接下来的 1000 行并
How can I use pd.read_csv() to iteratively chunk through a file and retain the dtype and other meta-
使用 Python 3。 我有一个非常大的 CSV 文件,我需要将其拆分并保存到_csv。我使用 chunksize 参数来确定两个文件中我需要多少行。期望是第一个代码应该读取所需的行,以便我可以
我一直在使用 Python 的多处理模块分析一些代码('job' 函数只是数字的平方)。 data = range(100000000) n=4 time1 = time.time() process
我有一个包含以下类别的 CSV 文件:item1、item2、item3、item4 其中值恰好是以下之一:0,1,2,3,4。我想为每个项目计算每个值有多少。我的代码如下,df是对应的DataFra
我目前正在研究使用 MongoDB 来存储电子邮件数据。因为电子邮件可能变得相当大(比如 10 兆)。 我相信 GridFS 非常适合这个。让我有点害怕的是,文档对 gridFS 中的分片大小不是很清
例如,如果我有一个带有 2 个处理器的池对象: p=multiprocessing.Pool(2) 我想遍历目录中的文件列表并使用 map 函数 谁能解释一下这个函数的 block 大小是多少: p.
打算使用 Azure Batch 与 do AzureParallel 包并行运行 R。我打算保留默认的 chunkSize = 1。 它是否会为 foreach() 循环的每次迭代启动一个新的 R
我正在尝试将大型数据集(1300 万行)从 MySQL 数据库读取到 pandas (0.17.1) 中。按照在线建议之一,我使用了 chunksize 参数来执行此操作。 db = pymysql.
由于数据量巨大,我们使用pandas来处理数据,但是出现了一个很奇怪的现象。伪代码如下所示: reader = pd.read_csv(IN_FILE, chunksize = 1000, engin
我将所有数据都放入了 HDFStore(是的!),但是如何从中取出数据.. 我在我的 HDFStore 中保存了 6 个数据帧作为 frame_table。这些表格中的每一个看起来如下所示,但长度各不
我正在使用 pandas.read_csv 打开一个名为 file.dat 的文件。 file.dat 包含数亿行,因此它的大小超出了我的可用内存。该文件如下所示: 2.069921794968841
关于这两个总和的所有信息: chunkSize Sets the chunk size. Please read the class javadoc for an explanation of how
使用需要转储到 PostgreSQL 表中的大型 pandas DataFrame。从我读过的内容来看,一次转储不是一个好主意,(我正在锁定数据库)而不是使用 chunksize范围。答案here对工
我是一名优秀的程序员,十分优秀!