ui: Bypass Texinfo parsing and rendering for searches.

This makes search queries such as:

  LANGUAGE=fr guix package -s utilitaire -s recherche

about 6 times faster.

* guix/ui.scm (%package-metrics): Do not use 'package-synopsis-string'
and 'package-description-string' to bypass Texinfo parsing and
rendering.
This commit is contained in:
Ludovic Courtès 2019-03-23 23:53:55 +01:00
parent 7b7e4e89c8
commit 94aeec0aef
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 8 additions and 2 deletions

View File

@ -1329,8 +1329,14 @@ score, the more relevant OBJ is to REGEXPS."
;; Metrics used to compute the "relevance score" of a package against a set ;; Metrics used to compute the "relevance score" of a package against a set
;; of regexps. ;; of regexps.
`((,package-name . 4) `((,package-name . 4)
(,package-synopsis-string . 3)
(,package-description-string . 2) ;; Match regexps on the raw Texinfo since formatting it is quite expensive
;; and doesn't have much of an effect on search results.
(,(lambda (package)
(and=> (package-synopsis package) P_)) . 3)
(,(lambda (package)
(and=> (package-description package) P_)) . 2)
(,(lambda (type) (,(lambda (type)
(match (and=> (package-location type) location-file) (match (and=> (package-location type) location-file)
((? string? file) (basename file ".scm")) ((? string? file) (basename file ".scm"))