[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Memory again

From: Stefan Monnier
Subject: Re: Memory again
Date: Wed, 07 Dec 2011 09:01:27 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.91 (gnu/linux)

>> > You are, in fact, saying that fontifying a 60-MByte compilation buffer
>> > creates text properties and other supporting data structures that can
>> > accrue to a total of 2G bytes.  I find this extremely hard to believe.
>> > A simple calculation will show that a file that has 1 million lines
>> > with 5 different faces (warning, line number, column number,
>> > underline, default) per line needs only a few million intervals -- how
>> > can this require 2G bytes of memory?

Because the property values are themselves non-trivial.

>> Start fresh Emacs instance, make sure you're in *scratch*. Type M-x
>> compilation-minor-mode, then eval (staying in *scratch*, of course):
>> (let ((x 0)) (while (< x 1000000) (insert "test:1:oops\n") (setq x (1+ x))))
>> Wait for completion, then see RSS. Next, kill *scratch*, M-x garbage-collect
>> and see RSS again.

> How is this different from compiling a C file with 1000000 #warning
> directives?  What am I missing?

To test your buffer-reallocation theory, you could instead do

(insert (apply #'concat (make-list 1000000 "test:1:oops\n")))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]