Giuliano Colla wrote:
> Al Boldi ha scritto:
> > For now, when you start a thread non-suspended, TThread.Execute(false),
> > can you see the memory increase for your project1 app when checking with
> > top? Then, when you TThread.WaitFor/TThread.Free, does it decrease? And
> > by how much?
> >
> > Below is the simplified console app.
> >
> >
> > Thanks for the feedback!
>
> Feedback:
> I couldn't see any change with top, so I slightly modified your console
> app, by adding:
>
> writeln('Type <Enter> to start thread');
>
> readln(ans);
>
> before
>
> t1:=TThreadBug.Create(false);
Ok, much better!
> With Lazarus 0.9.4.1, fpc 2.2.0 the result is the following:
> before starting the thread TOP says:
>
> 4732 colla 16 0 2564 808 488 S 0 0.1 0:00.00 threadbug
>
> after the thread is started it becomes:
>
> 4732 colla 15 0 12860 916 576 S 0 0.1 0:00.00 threadbug
That's a huge increase; almost 12mb. On fpc2.0.2/linux2.6.22 it increases by
~2mb, a lot less, but still large.
Can somebody check what the gcc thread overhead is?
> and it doesn't change anymore until program termination, either typing y
> or n.
If this is with v2.2.0, then this means a regression on top of a bug.
> I tried to set true FreeOnTerminate of your thread (with proper
> adjustments, because WaitFor and Free don't work anymore, of course) but
> there's no change.
>
> For sake of completeness, I made the same with my test program, where I
> can terminate, free and restart the thread multiple times, and I see the
> memory usage increasing each time: it started with 12Kb
You mean 12mb, right?
> and I stopped
> when it had become 122Mb! However all memory is released before closing
> the program, because heaptrc correctly reports an increasing number of
> blocks allocated and freed, as a function of the number of times I
> started my thread.
I don't think heaptrc detects RTL associated OS leaks. It only detects RTL
object leaks, and it seems those are freed correctly.
> As soon as I can, I'd like to perform the same tests with Kylix, to see
> if it makes a difference.
Thanks a lot!
--
Al
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives