What happened to this site? And what's that frog about?

Compatibility issues

From the old Equi4 Software site wiki 

There are two aspects to starkit compatibility:

    • Portability - using a starkit on different platforms and operating systems
    • Packed vs. unpacked - the difference between running as starkit and as unpacked Tcl scripts

Portability

Starkits are as portable as the scripts inside them. What this means is that application developer still need to deel with things such as ont differences, the availability of features such as "exec", and more generally: matching the "normal" way to do things on each platform.

See also the page on Starkit platform independence.


Packed vs. unpacked

Tcl's Virtual File System is what accounts for most of the transparency of starkits. It allows an application script to work in terms of ordinary files as far as loading scripts, but also shared libraries and datafiles are concerned.

But there are limits to Tcl's VFS:

    • when loading a shared library, Tcl has to copy it out to to a real file (and then clean up later)
    • commands launched from exec and open pipe are not able to look inside VFS mounts such as starkits

There are also limitatitions which hopefully will get resolved one day:

    • on Windows, cursors can not be used from VFS (make a temp copy to a real file)
    • on Windows, shared lib cleanup must happen on exit, but after serious errors this might not be done properly

And lastly, some differences arise from the way starkits are implemented:

    • startup can be slower, because scripts are stored in compressed form by default
    • but startup may also be faster, because many open/close calls are avoided
    • memory use is higher when starkits are modified, because the underlying Metakit database collects changes between commits (the commit timer fires every 5 seconds by default)




Powered by Mavrig