Smarty will create subdirectories under the
directories if $use_sub_dirs is set to true.
In an environment where there are potentially tens of thousands of files created,
this may help the filesystem speed.
On the other hand, some environments do not allow PHP processes to
create directories, so this must be disabled. The default is false (disabled).
Sub directories are more efficient, so use them if you can.
Theoretically you get much better perfomance on a filesystem with 10
directories each having 100 files, than with 1 directory having 1000
files. This was certainly the case with Solaris 7 (UFS)... with newer
filesystems such as ext3 and especially reiserfs, the difference is almost
$use_sub_dirs=true doesn't work with
that's why it's switchable and why it's off by default.
Since Smarty-2.6.2 $use_sub_dirs defaults to false.