Description
In some cases, using cache could give a performance penalty. Cache file is made to have everything from a modulepath in a single file. Evaluating the full content of this file is done to get access to the content of a given modulefile. So when performing a module load foo/1.0
the whole content of the cache file (of the modulepath where foo modules are stored) is evaluated (as a Tcl script).
This behavior is working well with thousands of modulefiles and a resulting cache file around 1MB. In such case a penalty of several 10ms is observed, which should not be perceived by users.
A discussion on the mailing-list describes that on a setup of 10 thousands of modulefiles, resulting cache file is about 7MB. A penalty of around 200ms is observed.
In such situation, not using the module cache may be faster for load sub-command.
An option could be added to define a list of sub-command on which cache file should be ignored by default.