为什么dask剂量不能使用所有可用的核心?
我正在运行此代码
if (edi < esi) { // am I supposed to change edi and esi to local variable names?
uint32_t variable1;
return ___; // what am I supposed to return?
}
我希望最后一行
import pandas as pd
import numpy as np
for year in range(2000, 2005):
#i have change days
idx = pd.date_range(str(year), str(year + 1), freq='d', closed='left')
#to seconds , that created file of 1.3G each
#idx = pd.date_range(str(year), str(year + 1), freq='s', closed='left')
pd.DataFrame({'A': np.random.randn(len(idx)),
'B': np.random.randint(len(idx))},
index=idx).to_csv('{0}.csv'.format(year), index_label='date')
import dask.dataframe as dd
df = dd.read_csv('*.csv').set_index('date')
import dask.multiprocessing
df.count().compute(get=dask.multiprocessing.get)
将在我的所有核心(4核心)上运行 相反,我发现只有一个核心在使用
实际上正在运行
df.count().compute(get=dask.multiprocessing.get)
会更有效率 难道我做错了什么?为什么这个代码不能在所有内核上运行? 为什么第二种方法(使用零参数计算)更有效? dask不知道做正确的事吗?并选择最佳时间安排?
注意: 我用过这一行
df.count().compute()
创建5 * 1.5G文件大小
我发布的样本使用
`idx = pd.date_range(str(year), str(year + 1), freq='s',` closed='left')
创建一个非常小的文件