TC: An Efficient Implementation of the Tcl Language
TC: An Efficient Implementation of the Tcl Language
TCLTK '98 Proceedings of the 3rd Annual USENIX Workshop on Tcl/Tk - Volume 3
The new [incr Tcl]: objects, mega-widgets, namespaces and more
TCLTK '98 Proceedings of the 3rd Annual USENIX Workshop on Tcl/Tk - Volume 3
Customization and flexibility in the exmh mail user interface
TCLTK '98 Proceedings of the 3rd Annual USENIX Workshop on Tcl/Tk - Volume 3
Catenation and specialization for Tcl virtual machine performance
Proceedings of the 2004 workshop on Interpreters, virtual machines and emulators
TCLTK'97 Proceedings of the 5th conference on Annual Tcl/Tk Workshop 1997 - Volume 5
Jacl: a Tcl implementation in java
TCLTK'97 Proceedings of the 5th conference on Annual Tcl/Tk Workshop 1997 - Volume 5
A typing system for an optimizing multiple-backend Tcl compiler
TCLTK'97 Proceedings of the 5th conference on Annual Tcl/Tk Workshop 1997 - Volume 5
Efficient floating-point number handling for dynamically typed scripting languages
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Hi-index | 0.02 |
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 writers, and describes how to best take advantage of the compiler.