Clean up doom-get-outdated-packages
This commit is contained in:
parent
e75bc10baa
commit
e2c161cbf8
1 changed files with 4 additions and 2 deletions
|
@ -124,6 +124,7 @@ If INCLUDE-FROZEN-P is non-nil, check frozen packages as well.
|
||||||
|
|
||||||
Used by `doom/packages-update'."
|
Used by `doom/packages-update'."
|
||||||
(let (quelpa-pkgs elpa-pkgs)
|
(let (quelpa-pkgs elpa-pkgs)
|
||||||
|
;; Separate quelpa from elpa packages
|
||||||
(dolist (pkg (doom-get-packages))
|
(dolist (pkg (doom-get-packages))
|
||||||
(let ((sym (car pkg)))
|
(let ((sym (car pkg)))
|
||||||
(when (and (or (not (doom-package-prop sym :freeze))
|
(when (and (or (not (doom-package-prop sym :freeze))
|
||||||
|
@ -133,16 +134,17 @@ Used by `doom/packages-update'."
|
||||||
(if (eq (doom-package-backend sym) 'quelpa)
|
(if (eq (doom-package-backend sym) 'quelpa)
|
||||||
quelpa-pkgs
|
quelpa-pkgs
|
||||||
elpa-pkgs)))))
|
elpa-pkgs)))))
|
||||||
|
;; The bottleneck in this process is quelpa's version checks, so partition
|
||||||
|
;; and check them asynchronously.
|
||||||
(let* ((max-threads 3) ; TODO Do real CPU core/thread count
|
(let* ((max-threads 3) ; TODO Do real CPU core/thread count
|
||||||
(min-per-part 2)
|
(min-per-part 2)
|
||||||
(per-part (max min-per-part (ceiling (/ (length quelpa-pkgs) (float max-threads)))))
|
(per-part (max min-per-part (ceiling (/ (length quelpa-pkgs) (float max-threads)))))
|
||||||
(leftover (mod (length quelpa-pkgs) per-part))
|
(leftover (mod (length quelpa-pkgs) per-part))
|
||||||
(packages '(t))
|
|
||||||
parts
|
parts
|
||||||
futures)
|
futures)
|
||||||
(while quelpa-pkgs
|
(while quelpa-pkgs
|
||||||
(let (part)
|
(let (part)
|
||||||
(dotimes (i (+ per-part leftover))
|
(dotimes (_i (+ per-part leftover))
|
||||||
(when-let (p (pop quelpa-pkgs))
|
(when-let (p (pop quelpa-pkgs))
|
||||||
(push p part)))
|
(push p part)))
|
||||||
(setq leftover 0)
|
(setq leftover 0)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue