Python處理大數據越來越慢的問題

         Python在對大數據進行處理時,發現隨着數據處理量的增大,性能急劇下降。查找原因發現是由於GC(垃圾回收)造成的性能下降。

         Python的垃圾回收機制的工作原理爲每個對象維護一個引用計數,每次內存對象的創建與銷燬都必須修改引用計數,從而在大量的對象創建時,需要大量的執行修改引用計數操作,對於程序執行過程中,額外的性能開銷是令人可怕的。並且由於我們算法的原因,數據往往讀入內存後不需要釋放,所以每次垃圾回收其實都不會回收內存,白白耗費性能去檢查每個對象是否可以回收。回收的觸發時機有兩種可能,一是用戶主動調用gc.collect(),二是對象數量超過閾值。

         所以正是GC拖慢了程序的性能,所以我們可以考慮在處理的時候禁止垃圾回收。

         代碼:

                   import gc

                   gc.disable();

                  ***程序處理邏輯

                  gc.enable();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章