Python处理大数据越来越慢的问题

来源:互联网 发布:python epoch time 编辑:程序博客网 时间:2024/04/28 22:34

Python处理大数据越来越慢的问题

         Python在对大数据进行处理时,发现随着数据处理量的增大,性能急剧下降。查找原因发现是由于GC(垃圾回收)造成的性能下降。

         Python的垃圾回收机制的工作原理为每个对象维护一个引用计数,每次内存对象的创建与销毁都必须修改引用计数,从而在大量的对象创建时,需要大量的执行修改引用计数操作,对于程序执行过程中,额外的性能开销是令人可怕的。并且由于我们算法的原因,数据往往读入内存后不需要释放,所以每次垃圾回收其实都不会回收内存,白白耗费性能去检查每个对象是否可以回收。回收的触发时机有两种可能,一是用户主动调用gc.collect(),二是对象数量超过阈值。

         所以正是GC拖慢了程序的性能,所以我们可以考虑在处理的时候禁止垃圾回收。

         代码:

                   import gc

                   gc.disable();

                  ***程序处理逻辑

                  gc.enable();

0 0