Some aspects of Tcl's filesystem (''glob'', ''file'', ''pwd'', ''cd'' primarily) became a bit slower with the vfs layer that was introducedin Tcl 8.4.0. This has gradually been addressed with later Tcl 8.4.x releases and also with Tcl 8.5.x. The current timings are as follows: 000 VERSIONS: 1:8.5a0 2:8.4.5 3:8.3.5 001 FILE exec interp 13185 14290 15333 002 FILE exec interp: pkg require 55423 73324 31033 003 FILE exec interp: pkg require+ 88259 102743 47400 004 FILE exec interp: pkg require+auto_path 70363 90178 44067 005 FILE exists tmpfile (obj) 20 21 100 006 FILE exists ~ 19 13 0 007 FILE exists! absolute tmpfile (obj) 19 18 0 008 FILE exists! absolute tmpfile (str) 184 360 0 009 FILE exists! relative tmpfile (obj) 17 31 100 010 FILE exists! relative tmpfile (str) 330 493 0 011 FILE exists! tmpfile (obj) 21 21 0 012 FILE exists! tmpfile (str) 289 435 0 013 FILE glob tmpdir (30 entries) / -dir 7495 5210 5200 014 FILE glob tmpdir (30 entries) / cd 5720 6001 5210 015 FILE glob tmpdir (subset of 30 entries) 2519 5073 4910 016 FILE glob / all subcommands 77893 68271 108560 017 FILE glob / atime 7698 8148 14120 018 FILE glob / attributes 49962 52209 47170 019 FILE glob / dirname 5710 5877 5310 020 FILE glob / executable 9542 7640 6210 021 FILE glob / exists 7237 7525 6110 022 FILE glob / extension 5330 5237 5100 023 FILE glob / isdirectory 7713 8021 12620 024 FILE glob / isfile 7728 8159 12620 025 FILE glob / mtime 7746 8007 12620 026 FILE glob / owned 7719 7931 12620 027 FILE glob / readable 11827 7658 6210 028 FILE glob / rootname 5341 5358 5100 029 FILE glob / size 7661 7997 12620 030 FILE glob / tail 5428 5518 5210 031 FILE glob / writable 11699 7608 6310 032 FILE glob deep dirs (30 entries+) 59103 58396 49970 033 FILE glob deep dirs (subset of 30 entries+) 36834 57647 48970 034 FILE glob dirs (30 entries) 4948 5108 12920 035 FILE recurse / -dir 107553 113229 140300 036 FILE recurse / cd 132796 180153 137800 037 FILE recurse+stat / -dir 138304 153763 247060 038 FILE recurse+stat / cd 164742 237494 239650 038 BENCHMARKS 1:8.5a0 2:8.4.5 3:8.3.5 (This is for a slightly modified version of file.bench, and a slightly modified version of Tcl 8.5a0 which is undergoing performance testing, where the above timings are on WinXP). If you have particular pieces of code using ''file'', ''glob'' which are slower in Tcl 8.4/8.5, please add them to this page so that they can be added to the benchmark suite. ''Note:'' reading from and writing to files is a totally separate topic ''channel i/o'' which is nothing to do with the vfs changes made to Tcl 8.4.0, and is therefore irrelevant to this particular benchmarking exercise on this page.