[Lazarus] RE : RE : RE : RE : RE : Console App Development

Martin lazarus at mfriebe.de
Mon Aug 15 15:28:18 CEST 2011


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.




More information about the Lazarus mailing list