मैं यहाँ शाब्दिक-आइए स्मृति रिसाव के बारे में पढ़ा, उदाहरण के लिए: Are there any problems with lexical-let or other cl-macros??? - Users list for the GNU Emacs text editor - ArchiveOrangeEmacs Lisp की शब्दावली-लीक मेमोरी कब होती है?
इसे कहते हैं:
"ध्यान दें कि शाब्दिक-देना साथ बाध्य चर कभी नहीं जारी कर रहे हैं, यहां तक कि अगर वे कभी उपयोग नहीं कर रहे हैं
(loop for i from 1 to 100000 collect (lexical-let ((x i)) '()))
और इसे स्मृति खाने को देखें। "
लेकिन मुझे लगता है कि यह कोड स्मृति को खाता है क्योंकि लूप द्वारा बनाई गई सूची बढ़ती है। तो, मैंने यह देखने के लिए कुछ elisp कोड लिखे थे कि यह कब होता है लेकिन मुझे रिसाव का उदाहरण नहीं मिला।
यह है कि जब मैं नीचे दिए गए कोड को निष्पादित करता हूं तो स्मृति समय के साथ बढ़ता है।
(require 'cl)
(defvar num-loop-1 30)
(defvar num-loop-2 100000)
(loop for i from 1 to num-loop-1 do
(loop for j from 1 to num-loop-2 collect
(lexical-let ((x `(,i ,j))) (lambda() x))))
ऐसा लगता है कि कोई रिसाव मौजूद है। https://gist.github.com/1703325
जोड़ा:
यहां अधिक उदाहरण देखें इस तरह पहला उदाहरण स्मृति खाता है। जैसा कि मैंने कहा, मुझे लगता है कि यह एक आर्टिफैक्ट है।
FWIW यहाँ 'मदद-gnu-emacs' पर थ्रेड के लिए मूल संग्रह पृष्ठ है, विज्ञापन के बिना: http://lists.gnu.org/archive/html/help- gnu-emacs/2010-12/msg00141.html –
[emacs devel] (http://news.gmane.org/gmane.emacs.devel) SO – Tom
की तुलना में इस तरह के प्रश्न के लिए एक बेहतर जगह है, इसके अलावा, #emacs चैनल इस प्रकार के प्रश्न पूछने के लिए फ्रीनोड पर एक अच्छी जगह हो सकती है। – vpit3833