Python 2.7 在大型数据集上评测Python

Python 2.7 在大型数据集上评测Python,python-2.7,profiling,cython,Python 2.7,Profiling,Cython,我有一个数据集,有3百万行要处理。处理函数被循环化。当我对10000行的小样本进行整个处理时,处理时间约为1,5分钟,30000行的子样本的处理时间为3分钟。然而,当我在10小时后处理整个数据集时,仅处理了数据集的1/4,尽管我预计处理时间最长为5小时。我正在运行Ubuntu 14.04 64位和Anaconda 64位。内存使用率为50%。在一段时间的不活动之后,我停止了直接登录,性能保持不变。不活动后切换屏幕不会影响执行时间。执行速度如此之慢还有什么原因?我建议添加一个记录器来记录进度。您可

我有一个数据集,有3百万行要处理。处理函数被循环化。当我对10000行的小样本进行整个处理时,处理时间约为1,5分钟,30000行的子样本的处理时间为3分钟。然而,当我在10小时后处理整个数据集时,仅处理了数据集的1/4,尽管我预计处理时间最长为5小时。我正在运行Ubuntu 14.04 64位和Anaconda 64位。内存使用率为50%。在一段时间的不活动之后,我停止了直接登录,性能保持不变。不活动后切换屏幕不会影响执行时间。执行速度如此之慢还有什么原因?

我建议添加一个记录器来记录进度。您可能想知道是否有单个项目需要花费更多的时间,或者所有项目的处理速度都会减慢。很难从您的问题中诊断问题。添加记录器是什么意思?让您的程序记录开始和完成处理每个项目的时间。然后检查异常情况…在大数据集上运行它,然后。您将确切地看到问题所在。