Mercurial > cpython-lru_cache-weakref
view Doc/lib/libstatcache.tex @ 28646:193b8aec00ce legacy-trunk
Changes from Jonathan Riehl to allow his pgen extension (PEP 269) to
work. This includes some more code that used to be part of pgen in
the main parser; I'm okay with that. I'll see if the Windows build
needs work next.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 17 Apr 2003 14:55:42 +0000 |
| parents | 3803af9d8796 |
| children |
line wrap: on
line source
\section{\module{statcache} --- An optimization of \function{os.stat()}} \declaremodule{standard}{statcache} \sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il} \modulesynopsis{Stat files, and remember results.} \deprecated{2.2}{Use \function{\refmodule{os}.stat()} directly instead of using the cache; the cache introduces a very high level of fragility in applications using it and complicates application code with the addition of cache management support.} The \module{statcache} module provides a simple optimization to \function{os.stat()}: remembering the values of previous invocations. The \module{statcache} module defines the following functions: \begin{funcdesc}{stat}{path} This is the main module entry-point. Identical for \function{os.stat()}, except for remembering the result for future invocations of the function. \end{funcdesc} The rest of the functions are used to clear the cache, or parts of it. \begin{funcdesc}{reset}{} Clear the cache: forget all results of previous \function{stat()} calls. \end{funcdesc} \begin{funcdesc}{forget}{path} Forget the result of \code{stat(\var{path})}, if any. \end{funcdesc} \begin{funcdesc}{forget_prefix}{prefix} Forget all results of \code{stat(\var{path})} for \var{path} starting with \var{prefix}. \end{funcdesc} \begin{funcdesc}{forget_dir}{prefix} Forget all results of \code{stat(\var{path})} for \var{path} a file in the directory \var{prefix}, including \code{stat(\var{prefix})}. \end{funcdesc} \begin{funcdesc}{forget_except_prefix}{prefix} Similar to \function{forget_prefix()}, but for all \var{path} values \emph{not} starting with \var{prefix}. \end{funcdesc} Example: \begin{verbatim} >>> import os, statcache >>> statcache.stat('.') (16893, 2049, 772, 18, 1000, 1000, 2048, 929609777, 929609777, 929609777) >>> os.stat('.') (16893, 2049, 772, 18, 1000, 1000, 2048, 929609777, 929609777, 929609777) \end{verbatim}
