Hi ! I have released a package performing alternative Tcl interp initialization based on Tcl command traces and Tcl unknown mechanism. During some internal testing we got memory footprint of the server less than 1/3 and thread startup time for about 50 times better than with the current AS approach. The package will be part of the upcoming Tcl threading extension 2.6 but can be employed as stand-alone package for the AS 4.0+.
The package can be found on: http://sourceforge.net/projects/ttrace/ Here the short excerpt from the README file: ---- What is this? ------------- This is an implementation of a simple but effective command tracer for gathering state of a Tcl interpreter for later replication in other threads/interpreters. This package be used within the Tcl threading extension or the AOLserver webserver from America Online. The basic idea is to activate traces on selected Tcl commands. Trace callbacks are responsible for building in-memory store (shared arrays) of traced resources. This store is used to create a short Tcl script which replicates the state in some other Tcl interpreter/thread. Most of the state is not replicated directly, though. Instead, the "unknown" Tcl command is used to replicate the state on-the-fly. In addition to Tcl command traces, user can supply their own tracer implementations in form of Tcl callbacks. Benefits -------- o. much lower memory footprint of an MT-application o. much faster thread creation o. improved interp cleanup (can drop/re-create entire state quickly) o. fine control about what gets into interp state and what doesn't o. easily extensible to accomodate user-specific setups o. implemented in Tcl alone During some testing, the memory footprint of the MT-application went down 3 times and thread creation time was improved 50 times. --- Have fun. Zoran -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.