[Pkg-bazaar-commits] ./bzr/unstable r457: - more trace and profiling in statcache

Martin Pool mbp at sourcefrog.net
Fri Apr 10 08:19:22 UTC 2009


------------------------------------------------------------
revno: 457
committer: Martin Pool <mbp at sourcefrog.net>
timestamp: Wed 2005-05-11 12:37:07 +1000
message:
  - more trace and profiling in statcache
modified:
  bzrlib/statcache.py
-------------- next part --------------
=== modified file 'bzrlib/statcache.py'
--- a/bzrlib/statcache.py	2005-05-11 02:22:26 +0000
+++ b/bzrlib/statcache.py	2005-05-11 02:37:07 +0000
@@ -164,23 +164,27 @@
 
     from sets import Set
 
-    hardcheck = dirty = 0
+    stat_cnt = missing_cnt = hardcheck = change_cnt = 0
 
     # files that have been recently touched and can't be
     # committed to a persistent cache yet.
     
     dangerfiles = Set()
     now = int(time.time())
-    
+
+    mutter('update statcache under %r' % basedir)
     for file_id, path in to_update:
-        fap = os.path.join(basedir, path)
-        fp = fingerprint(fap, path)
+        abspath = os.path.join(basedir, path)
+        fp = fingerprint(abspath, path)
+        stat_cnt += 1
+        
         cacheentry = cache.get(file_id)
 
         if fp == None: # not here
             if cacheentry:
                 del cache[file_id]
-                dirty += 1
+                change_cnt += 1
+            missing_cnt += 1
             continue
 
         if (fp[FP_MTIME] >= now) or (fp[FP_CTIME] >= now):
@@ -191,20 +195,20 @@
 
         hardcheck += 1
 
-        dig = sha.new(file(fap, 'rb').read()).hexdigest()
+        dig = sha.new(file(abspath, 'rb').read()).hexdigest()
 
         if cacheentry == None or dig != cacheentry[1]: 
             # if there was no previous entry for this file, or if the
             # SHA has changed, then update the cache
             cacheentry = (file_id, dig, path) + fp
             cache[file_id] = cacheentry
-            dirty += 1
+            change_cnt += 1
 
-    mutter('statcache: read %d files, %d changed, %d dangerous, '
+    mutter('statcache: statted %d files, read %d files, %d changed, %d dangerous, '
            '%d in cache'
-           % (hardcheck, dirty, len(dangerfiles), len(cache)))
+           % (stat_cnt, hardcheck, change_cnt, len(dangerfiles), len(cache)))
         
-    if dirty:
+    if change_cnt:
         mutter('updating on-disk statcache')
         _write_cache(basedir, cache.itervalues(), dangerfiles)
 



More information about the Pkg-bazaar-commits mailing list