On 15/08/2011 14:16, Martin wrote:

41870000 open lazarus, with about a dozen units - close one unit, to trigger the output
198591312  open  450 univint - close one unit, to trigger the output
 63014880  close all 450 univint  => ok so some meory was kept

193982864 open 450 univint - close one unit, to trigger the output => hey we are even lower than last tim
 62963664   close all 450 univint => no extra memory kept on 2nd run
...

- A certain amount is allocated and kept => but it does not increase

One think is that the project session does remember every unit that was onced open (it will forget it only, if not accessed for a long time (many open/close of project ).

The project session remembers status info, such as scrolled-pos and caret-pos for each unit, that was once opened. So if you re-open a unit, you had once open before, you will have the caret, at the same pos, it used to be when you closed the unit (unless you open it via code jump, which will override the caret pos)

As I said there is an algorithm that will lead to units eventually be removed from the session, but only if they do not get accessed over many open/close cycles of the project.


I do nor know how much of the 20 MB that makes. Would NOT expect it to be much. But it serves as example, that there exists information, that can with full intention be kept.

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to