Cool. Question still remains which is faster, cached .tcl pages or a heavy master interpreter. Would be interesting to see. May have a play with that over the next few weeks.
I played a bit with bytecode speed issues on AOLserver as well. Tested on 3.4.2 with 8.3.4.
First of all, only using libtbcload.so and bytecompiling most of my modules/tcl/, I managed to get a 10% better performance using ab. This needs to do more testing, since I guess it only matters if you start enough threads.
Also, I figured out a solution that I am quite happy about. I host many sites written for AOLserver in Tcl.
The solution I used was to write a command (for now Tcl, but it could be rewritten to C :), for example 'ns_pkg load somepkg'. It checked if somepkg is loaded, if so, if mtimes match (if something is modified, directory's mtime is changed :), if they match, it does nothing. Otherwise it loads the package (only in current interpreter).
It also counts bytes and has a limit of loaded packages - if the limit is reached, some unused packages are removed. Removing means namespace delete, since every package must be in a namespace.
The solution proved to be pretty good. It could use bytecode compiling when it is loaded in >1 interpreter, but it works pretty quick without it. The main problem is memory... It consumes a lot more than without it.
-- WK (written at Stardate 57153.3)
"Data typing is an illusion. Everything is a sequence of bytes." -Todd Coram
I. To remove yourself from this list:
Send a message to "[EMAIL PROTECTED]" with the following text in the BODY of your message:
signoff aolserver
II. For a complete list of listserv options please visit:
http://listserv.aol.com/
III. For more AOLserver information please visit:
http://www.aolserver.com/