usenix conference policies
An On-the-fly Bytecode Compiler for Tcl
Brian T. Lewis, Sun Microsystems Laboratories, Inc.
To improve the speed of interpreting Tcl programs, we are developing an on-the-fly bytecode compiler as part of the Tcl project at Sun Microsystems Laboratories. This new compilation system supports dual-ported objects that are stored in Tcl variables and passed to procedures instead of strings. These objects allow faster integer, list, and other operations by including an appropriate internal representation in addition to a string. Early performance results show significant improvement for some scripts. On a 167MHz UltraSPARC 1, lindex of the last element of a 100 element list takes 3 microseconds compared to 72 for the current Tcl interpreter. A set command that stores a new value in a local variable now takes less than 1 microsecond vs. 5.8 to 10 microseconds (depending on the length of the variable name) for the current system. This paper describes the design of the compiler and its current state, outlines its development plan, and gives some early performance results. It also describes some implications of the compiler for Tcl script and extension
author = {Brian T. Lewis},
title = {An On-the-fly Bytecode Compiler for Tcl},
booktitle = {Fourth Annual USENIX Tcl/Tk Workshop (Fourth Annual USENIX Tcl/Tk Workshop)},
year = {1996},
address = {Monterey, CA},
url = {https://www.usenix.org/conference/fourth-annual-usenix-tcltk-workshop/fly-bytecode-compiler-tcl},
publisher = {USENIX Association},
month = jul
}
connect with us