On 06/19/2011 03:31 PM, Paolo Bonzini wrote:
On Wed, Jun 15, 2011 at 21:19, Gwenael Casaccio<[email protected]> 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
_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk