在PyPy3中,為了提高運(yùn)行速度,關(guān)閉一個(gè)生成器使用的GeneratorExit對(duì)象被解釋器緩存了起來(lái),這導(dǎo)致每次調(diào)用生成器的close方法時(shí),當(dāng)前close的生成器的frame都被保存到了這個(gè)global對(duì)象里,導(dǎo)致了生成器對(duì)象和frame對(duì)象都無(wú)法被GC回收,產(chǎn)生了嚴(yán)重的內(nèi)存泄漏。 下面這段代碼在PyPy 3中會(huì)迅速耗盡系統(tǒng)內(nèi)存,而在CPython 3中則沒...
www.dbjr.com.cn/article/2317...htm 2025-5-19