Pymalloc
Python實現(xiàn)了一個內存池(memorypool)機制,使用Pymalloc對小塊內存(小于等于256kb)進行申請和釋放管理。
當Python頻繁地創(chuàng)建和銷毀一些小的對象時,底層會多次重復調用malloc和free等函數(shù)進行內存分配。這不僅會引入較大的系統(tǒng)開銷,而且還可能產生大量的內存碎片。
內存池的概念就是預先在內存中申請一定數(shù)量的內存空間,當有有滿足條件的內存請求時,就先從內存池中分配內存給這個需求,如果預先申請的內存已經(jīng)耗盡,Pymallocallocator會再申請新的內存(不能超過預先設置的內存池最大容量)。垃圾回收時,回收的內存歸還給內存池。這樣做最顯著的優(yōu)勢就是能夠減少內存碎片,提升效率。
如果應用的內存需求大于pymalloc設置的閾值,那么解釋器再將這個請求交給底層的C函數(shù)(malloc/realloc/free等)來實現(xiàn)。
以上內容為大家介紹了Python內存管理機制之Pymalloc,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://m.2667701.com/