summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libcmpcache.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/lib/libcmpcache.tex')
-rw-r--r--Doc/lib/libcmpcache.tex36
1 files changed, 36 insertions, 0 deletions
diff --git a/Doc/lib/libcmpcache.tex b/Doc/lib/libcmpcache.tex
new file mode 100644
index 0000000..cac08ed
--- /dev/null
+++ b/Doc/lib/libcmpcache.tex
@@ -0,0 +1,36 @@
+\section{\module{cmpcache} ---
+ Efficient file comparisons}
+
+\declaremodule{standard}{cmpcache}
+\sectionauthor{Moshe Zadka}{mzadka@geocities.com}
+\modulesynopsis{Compare files very efficiently.}
+
+The \module{cmpcache} module defines a function to compare files, taking all
+sort of short-cuts to make it a highly efficient operation.
+
+The \module{cmpcache} module defines the following function:
+
+\begin{funcdesc}{cmp}{f1, f2}
+Compare two files given as names. The following tricks are used to
+optimize the comparisons:
+
+\begin{itemize}
+ \item Signatures (type, size and mtime) are computed via
+ \refmodule{statcache}
+ \item Files with identical type, size and mtime are assumed equal.
+ \item Files with different type or size are never equal.
+ \item The module only compares files it already compared if their
+ signature changed.
+ \item No external programs are called.
+\end{itemize}
+\end{funcdesc}
+
+Example:
+
+\begin{verbatim}
+>>> import cmpcache
+>>> cmpcache.cmp('libundoc.tex', 'libundoc.tex')
+1
+>>> cmpcache.cmp('libundoc.tex', 'lib.tex')
+0
+\end{verbatim}