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.

Reply via email to