perf(securefs): reuse name buffer and stat struct across dir entries (P2)
ober
66c056328b12eba2e62ccac81ae8c924a205e5e8
--- a/src/imagesite/securefs.ss +++ b/src/imagesite/securefs.ss @@ -173,9 +173,11 @@ (dynamic-wind (lambda () (void)) (lambda () - (let loop () - (let ((name-bytes (make-bytevector 256 0)) - (info (make-info))) + ;; Reuse one name buffer and stat struct across every entry in + ;; this directory instead of allocating them per entry. + (let ((name-bytes (make-bytevector 256 0)) + (info (make-info))) + (let loop () (let ((name-length (c-dir-next iterator name-bytes 256 info))) (cond ((= name-length 0) (void))