cbaines pushed a commit to branch trunk
in repository data-service.

commit 59f1a04f4e1ad92c48709bf5247facf83ad281b0
Author: Christopher Baines <[email protected]>
AuthorDate: Sun Mar 9 13:13:25 2025 +0000

    Use vector-fold rather than map to construct input-derivations
    
    This avoids append-map and vector->list so might be faster and use less
    memory.
---
 guix-data-service/jobs/load-new-guix-revision.scm | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/guix-data-service/jobs/load-new-guix-revision.scm 
b/guix-data-service/jobs/load-new-guix-revision.scm
index 75400b2..e0e0bc6 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -1190,10 +1190,13 @@ SELECT 1 FROM derivation_source_file_nars WHERE 
derivation_source_file_id = $1"
             "insert-missing-derivations: ensure-input-derivations-exist ("
             log-tag ")")
          (let ((input-derivations
-                (map
-                 derivation-input-derivation
-                 (append-map derivation-inputs
-                             (vector->list derivations)))))
+                (vector-fold
+                 (lambda (_ result drv)
+                   (append! (map derivation-input-derivation
+                                 (derivation-inputs drv))
+                            result))
+                 '()
+                 derivations)))
            (unless (null? input-derivations)
              ;; Ensure all the input derivations exist
              (for-each

Reply via email to