我只是想给予使用PyPy进行pandas操作,我想使用PyPy的某些代码可能会更快,但显然它比python慢。这背后的原因是什么?这是我的代码示例,只是从csv读取示例数据并计算相关性。Python:7分钟使用pypy:8.5分钟
import pandas as pd import time t = time.time() df = pd.read_csv('./dfn.csv', index_col=0) df.T.corr() print(time.time()-t)
eqqqjvef1#
大部分科学Python软件栈实际上是用C/C编写的。因此,当你使用pandas例程,如read_csv或T.corr()时,你不是在访问python代码,而是编译后的代码。PyPy不能加快代码的速度。此外,C/C代码的接口目前使用CPython C-API编写。为了让PyPy使用该代码,它必须模拟CPython C-API,这是很慢的。blog post的原因。我们希望HPy能够改变这种情况,使PyPy(和其他python实现)上的C/C++互操作更快。
read_csv
T.corr()
1条答案
按热度按时间eqqqjvef1#
大部分科学Python软件栈实际上是用C/C编写的。因此,当你使用pandas例程,如
read_csv
或T.corr()
时,你不是在访问python代码,而是编译后的代码。PyPy不能加快代码的速度。此外,C/C代码的接口目前使用CPython C-API编写。为了让PyPy使用该代码,它必须模拟CPython C-API,这是很慢的。blog post的原因。我们希望HPy能够改变这种情况,使PyPy(和其他python实现)上的C/C++互操作更快。