Version 14 of Tclkit Lite

Updated 2005-10-31 20:56:50

Tclkit Lite is a new (as of Oct 2005) variant of Tclkit which is a limited edition of Tclkit.

The limits and differences are:

  • it only reads/runs/mounts Metakit-based starkits & starpacks, it cannot (yet) create or modify them
  • it does not include Mk4tcl, so all dependencies on C++ are gone
  • it adds a small TEA3-based new C-only extension (called "Thrive")
  • performance is "sort of" like Tclkit, but varies because it's a different code base
  • it does not use the "mk4vfs" VFS driver, but a simpler one called "mkclvfs" (MK Compat Lite)
  • Tclkit Lite is smaller than Tclkit (some 250 Kb less on Linux, no more Mk4tcl nor C++ runtime)

The steps needed to build Tclkit Lite require the latest version of "genkit", see [L1 ]. -jcw


PT 31-Oct-2005: I've modified the msvc6 build files to include support for this. I'm uncertain that I've got it 100% correct so far as my tclkitlite is only 90K or so smaller that the normal tclkit. My tclkitlite84.exe for Windows is available from [L2 ] (gpg signature at [L3 ]) at least for a while. I'll produce some patches at some point.

jcw - Thanks, Pat. The size diff might be due to the fact that on Win32, the C++ runtime code is tied in dynamically (perhaps also because MSVC6 is quite good at compiling C++). Note also that you're comparing a UPX-compressed exe.

PT These are the sizes I have for each version - not upx compressed. The link above is compressed because it is for download and my uplink speed is not that fast.

 31/10/2005  16:34         2,001,305 tclkit84.exe
 31/10/2005  16:28         1,908,269 tclkitlite84.exe
 31/10/2005  16:41           902,749 tclkitsh84.exe

Just to point out that this lite tclkit still contains the same vfs code that a normal tclkit does. It is only lacking the metakit library. This means that, for instance, you can still load zip-based starkits (there is an example of one for tkchat at [L4 ]).


See also Using a zip file as a Tcl Module, tarpack


[Category Tclkit | Category Deployment]