Re: Tclkit vs Tclkit Lite VFS performance
Jean-Claude Wippler <[email protected]>
| Newsgroups | gmane.comp.lang.tcl.starkit |
|---|---|
| Message-ID | <[email protected]> |
To follow up again ...
> It is indeed. When I change this:
> foreach {n s d c} [eval [linsert $tag end *]] break
> to this
> foreach {n s d c} [{*}$tag *] break
>
> ... then the timings become normal again [...] So *something* in
> eval is shimmering, even though its argument is a pure list.
I'm going to blame this on Tcl until told otherwise. Have uploaded a
new vqtcl.tgz with a workaround in mkclvfs.tcl which avoids the
problem. Here's what I see now with mingw/8.5:
$ tclkit-cli.exe ../../vfsperf.tcl
kitten C:/msys/home/jcw/kitten.kit
sdx C:/msys/home/jcw/sdx
tclkit 8.4.13 : C:/msys/home/jcw/tclkitsh.exe
lite 8.5a6 : C:/kitgen/8.5/base-std/tclkit-cli
tclkit {} : 48439.0
lite {} : 29041.8
tclkit pkgreq : 49740.1
lite pkgreq : 54942.2
tclkit stat : 106.66
tclkit stat : 196.42
tclkit mtime : 90.402
tclkit mtime : 216.237
tclkit glob : 1279.03
tclkit glob : 460.64
tclkit open : 140.06
tclkit open : 434.82
tclkit read : 345.93
tclkit read : 578.88
tclkit read-large : 4571.79
tclkit read-large : 7580.36
Am going to leave the remaining slowdown as is for now - that
optimization really needs to be done in the Vlerq extension, not as a
hack which adds more Tcl-based caching.
-jcw