Python是如何进行内存管理的?
生活随笔
收集整理的這篇文章主要介紹了
Python是如何进行内存管理的?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python引用了一個內存池(memory pool)機制,即Pymalloc機制(malloc:n.分配內存),用于管理對小塊內存的申請和釋放
內存池(memory pool)的概念:
當 創建大量消耗小內存的對象時,頻繁調用new/malloc會導致大量的內存碎片,致使效率降低。內存池的概念就是預先在內存中申請一定數量的,大小相等 的內存塊留作備用,當有新的內存需求時,就先從內存池中分配內存給這個需求,不夠了之后再申請新的內存。這樣做最顯著的優勢就是能夠減少內存碎片,提升效率。
內存池的實現方式有很多,性能和適用范圍也不一樣。
python中的內存管理機制——Pymalloc:
python中的內存管理機制都有兩套實現,一套是針對小對象,就是大小小于256bits時,pymalloc會在內存池中申請內存空間;當大于256bits,則會直接執行new/malloc的行為來申請內存空間。
關于釋放內存方面,當一個對象的引用計數變為0時,python就會調用它的析構函數。在析構時,也采用了內存池機制,從內存池來的內存會被歸還到內存池中,以避免頻繁地釋放動作。
轉載于:https://www.cnblogs.com/apollo1616/p/9776094.html
總結
以上是生活随笔為你收集整理的Python是如何进行内存管理的?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 「 Luogu P2420 」 让我们异
- 下一篇: websocket python爬虫_p