From: miguel s. <mig...@gm...> - 2011-03-18 13:30:07
|
A note for testing: if your compiler understands __thread, do use -DHAVE_FAST_TSD for a big speedup. The corresponding autoconf'erry is not there yet :( On 03/18/2011 10:26 AM, Twylite wrote: > Hi Miguel, >> What is mig-alloc-reform? >> 1. A massive simplification of the memory management in Tcl core. >> a. removal of the Tcl stack, each BC allocates its own stacklet >> b. TclStackAlloc is gone, replaced with ckalloc; goodbye to sometimes >> hard sync problems >> c. removal of the allocCache slot in struct Interp > Do you have any performance analysis so far? I tried an experiment > recently replacing Tcl's memory allocators (TclStackAlloc() and > ckalloc()) with with nedmalloc > (http://www.nedprod.com/programs/portable/nedmalloc/) and one or two > other thread pool allocators, and saw a _decrease_ in speed. It seemed > apparent that using macros and allocCache was providing a significant > performance benefit. Of course it's also possible that my limited > understand of the Tcl allocation architecture caused me to miss > something important :/ > >> b. (~NEW) native build: call to sys malloc, but maintain zippy's >> Tcl_Obj caches (per thread, if threads enabled). Can be switched to >> run as a purify build via an env var at startup. This is > This also sounds very interesting. MSVC10 and Windows 7 have a very fast > system allocator. > > > Regards, > Twylite > |