civodul pushed a commit to branch wip-build-systems-gexp in repository guix.
commit 630bf1914dd99dee2702f2e41315232b06c5fbff Author: Ludovic Courtès <[email protected]> AuthorDate: Thu Feb 18 22:25:18 2021 +0100 store: Object cache profiling shows the number of entries. * guix/store.scm (record-cache-lookup!): Add 'size' variable; keep it up-to-date and display it. --- guix/store.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/guix/store.scm b/guix/store.scm index 81bb9eb..dccf8ba 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1835,18 +1835,21 @@ and RESULT is typically its derivation." (if (profiled? "object-cache") (let ((fresh 0) (lookups 0) - (hits 0)) + (hits 0) + (size 0)) (register-profiling-hook! "object-cache" (lambda () (format (current-error-port) "Store object cache: fresh caches: ~5@a lookups: ~5@a - hits: ~5@a (~,1f%)~%" + hits: ~5@a (~,1f%) + cache size: ~5@a entries~%" fresh lookups hits (if (zero? lookups) 100. - (* 100. (/ hits lookups)))))) + (* 100. (/ hits lookups))) + size))) (lambda (hit? cache) (set! fresh @@ -1854,7 +1857,9 @@ and RESULT is typically its derivation." (+ 1 fresh) fresh)) (set! lookups (+ 1 lookups)) - (set! hits (if hit? (+ hits 1) hits)))) + (set! hits (if hit? (+ hits 1) hits)) + (set! size (+ (if hit? 0 1) + (vlist-length cache))))) (lambda (x y) #t)))
