[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
09/13: Split and instrument parts of inferior-packages->package-metadata
From: |
Christopher Baines |
Subject: |
09/13: Split and instrument parts of inferior-packages->package-metadata-ids |
Date: |
Fri, 19 Jan 2024 04:57:47 -0500 (EST) |
cbaines pushed a commit to branch master
in repository data-service.
commit 6842a432d668f3e42de0b416813f359beef9ae6f
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Thu Jan 18 14:42:48 2024 +0000
Split and instrument parts of inferior-packages->package-metadata-ids
As parts of it are slow.
---
guix-data-service/model/package-metadata.scm | 51 ++++++++++++++++------------
1 file changed, 29 insertions(+), 22 deletions(-)
diff --git a/guix-data-service/model/package-metadata.scm
b/guix-data-service/model/package-metadata.scm
index 4372d8f..aaaee68 100644
--- a/guix-data-service/model/package-metadata.scm
+++ b/guix-data-service/model/package-metadata.scm
@@ -400,28 +400,35 @@ WHERE packages.id IN (
package_description_set_id
package_synopsis_set_id)
- (map (match-lambda*
- (((home-page
- location
- package-description-data
- package-synopsis-data)
- license-set-id)
-
- (list (if (string? home-page)
- home-page
- NULL)
- (location->location-id
- conn
- location)
- license-set-id
- (package-description-data->package-description-set-id
- conn
- package-description-data)
- (package-synopsis-data->package-synopsis-set-id
- conn
- package-synopsis-data))))
- package-metadata
- license-set-ids)
+ (zip
+ (map (match-lambda
+ ((home-page rest ...)
+ (if (string? home-page)
+ home-page
+ NULL)))
+ package-metadata)
+ (with-time-logging "preparing location ids"
+ (map (match-lambda
+ ((_ location rest ...)
+ (location->location-id
+ conn
+ location)))
+ package-metadata))
+ license-set-ids
+ (with-time-logging "preparing package description set ids"
+ (map (match-lambda
+ ((_ _ package-description-data _)
+ (package-description-data->package-description-set-id
+ conn
+ package-description-data)))
+ package-metadata))
+ (with-time-logging "preparing package synopsis set ids"
+ (map (match-lambda
+ ((_ _ _ package-synopsis-data)
+ (package-synopsis-data->package-synopsis-set-id
+ conn
+ package-synopsis-data)))
+ package-metadata)))
;; There can be duplicated entires in package-metadata, for example where
;; you have one package definition which interits from another, and just
;; overrides the version and the source, the package_metadata entries for
- branch master updated (241d7e4 -> e0a6c84), Christopher Baines, 2024/01/19
- 04/13: Have delete-duplicates/sort! take a equality procedure, Christopher Baines, 2024/01/19
- 07/13: Fix par-map&, Christopher Baines, 2024/01/19
- 09/13: Split and instrument parts of inferior-packages->package-metadata-ids,
Christopher Baines <=
- 08/13: Rewrite part of insert-missing-data-and-return-all-ids to avoid filter, Christopher Baines, 2024/01/19
- 11/13: Fixup tests, Christopher Baines, 2024/01/19
- 13/13: Try to fix issues with derivations being GC'ed, Christopher Baines, 2024/01/19
- 10/13: Add meaningful parallelism to processing jobs, Christopher Baines, 2024/01/19
- 03/13: Add back inferior heap size reporting, Christopher Baines, 2024/01/19
- 05/13: Make it possible to destroy a resource pool, Christopher Baines, 2024/01/19
- 02/13: Use delete-duplicates/sort! in inferior-packages->license-set-ids, Christopher Baines, 2024/01/19
- 01/13: Use delete-duplicates/sort! in insert-missing-data-and-return-all-ids, Christopher Baines, 2024/01/19
- 12/13: Remove drain? #t from process job, Christopher Baines, 2024/01/19
- 06/13: Show backtraces when using parallel fibers and resource pools, Christopher Baines, 2024/01/19