help-smalltalk
[Top][All Lists]
Advanced

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

Re: [Help-smalltalk] Multiple Worlds in GNU Smalltalk


From: Gwenael Casaccio
Subject: Re: [Help-smalltalk] Multiple Worlds in GNU Smalltalk
Date: Mon, 20 Jun 2011 18:11:00 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Lightning/1.0b2 Thunderbird/3.1.10

On 06/19/2011 03:31 PM, Paolo Bonzini wrote:
On Wed, Jun 15, 2011 at 21:19, Gwenael Casaccio<address@hidden>  wrote:
293 987 770 (in _gst_interpret)
53% of time of execution is spent in __tls_get_addr

It's time to optimize it a bit no ?

I was thinking of putting in _gst_interpret some variables at least
_gst_mem

You can put all variables in a single struct, and save the address
(&x) of that struct as a local variable in _gst_interpret.  It's also
interesting to try -ftls-model=local-exec.  Pick the fastest of the
two. :-)

Finally, the penalty for static linking ought to be very low.  That's
the limit to which you should aim.

Paolo

Hehe this is what I've done :)

For the -ftls-model=local-exe I've tried but I've a link error (-fPIC needed), I've added it but it failed too..

I've made another pass on the implementation with helgrind (tool for valgrind) I've removed a **lot** of threading issues I can load 20 images without any crashes :D

There is still an issue with the bootstrapping but when the memory is released.

I've implemented a _gst_release_mem function:

 - suspend the process
 - call the GST_ABOUT_TO_QUIT hook
 - scan the ot and make the oop non weak and free the memory
 - free the spaces and the heap

Gwen



reply via email to

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