使用Bodo JIT加速Pandas read_csv性能低于常规Python的问题
用Bodo加速Pandas的pd.read_csv测试
我正在尝试用Bodo工具加速Pandas操作,首先测试的是pd.read_csv()方法。按照Bodo要求,需要把兼容Pandas的代码放在独立函数中,与非兼容代码分离,我的代码示例如下:
带Bodo的实现
import bodo @bodo.jit def loadDataFileWithJIT(filePath): df = pd.read_csv(filePath, header=0, sep="\t", names=["patid", "eventdate", "prodcode", "consid", "issueseq"], usecols=[0, 1, 3, 4, 12], dtype={"patid": "str", "eventdate": "str", "prodcode": "str", "consid": "str", "issueseq": "str"}, low_memory=False) return df
我用5个约170MB的文件做了测试,执行时间如下:
- 14.24 <--- 首次执行,包含JIT编译耗时
- 9.67
- 10.72
- 9.51
- 9.42
无Bodo的常规实现
移除@bodo.jit装饰器和bodo导入语句,其余代码不变,执行时间如下:
- 4.66
- 4.68
- 4.59
- 4.61
- 4.60
咨询Bodo开发者后得知,必须通过mpiexec -n #(#为大于1的核心数)运行Python,才能实现性能提升。
内容的提问来源于stack exchange,提问作者Anthony Nash
相关产品推荐
相关产品推荐

