mirror of
https://github.com/pestctrl/emacs-config.git
synced 2026-02-16 16:24:18 +00:00
Make more use of nprocs
This commit is contained in:
parent
157771e86e
commit
af8fb088b8
3 changed files with 46 additions and 5 deletions
|
|
@ -59,9 +59,11 @@
|
||||||
:hook
|
:hook
|
||||||
(lsp-completion-mode . my/lsp-mode-setup-completion)
|
(lsp-completion-mode . my/lsp-mode-setup-completion)
|
||||||
:config
|
:config
|
||||||
|
(require 'my-nprocs)
|
||||||
(with-eval-after-load 'lsp-clangd
|
(with-eval-after-load 'lsp-clangd
|
||||||
(add-to-list 'lsp-clients-clangd-args
|
(add-to-list 'lsp-clients-clangd-args
|
||||||
"-j=16"))
|
(format "-j=%d"
|
||||||
|
(nprocs))))
|
||||||
|
|
||||||
(setq lsp-clangd-binary-path
|
(setq lsp-clangd-binary-path
|
||||||
(executable-find "clangd"))
|
(executable-find "clangd"))
|
||||||
|
|
|
||||||
|
|
@ -28,14 +28,12 @@
|
||||||
(require 'eieio)
|
(require 'eieio)
|
||||||
(require 'load-llvm-mode)
|
(require 'load-llvm-mode)
|
||||||
(require 'my-clang-options)
|
(require 'my-clang-options)
|
||||||
|
(require 'my-nprocs)
|
||||||
|
|
||||||
;; =========================== LLVM Rebuild ==========================
|
;; =========================== LLVM Rebuild ==========================
|
||||||
|
|
||||||
(defvar llvm-core-count
|
(defvar llvm-core-count
|
||||||
(--> "nproc"
|
(nprocs))
|
||||||
(shell-command-to-string it)
|
|
||||||
(string-to-number it)
|
|
||||||
(- it 16)))
|
|
||||||
|
|
||||||
(defun lls/ninja-build-tools (build-dir tools-list &optional verbose)
|
(defun lls/ninja-build-tools (build-dir tools-list &optional verbose)
|
||||||
(format "set -o pipefail && CLICOLOR_FORCE=1 ninja -C %s -j %d %s %s 2>&1 | tee ninja.log"
|
(format "set -o pipefail && CLICOLOR_FORCE=1 ninja -C %s -j %d %s %s 2>&1 | tee ninja.log"
|
||||||
|
|
|
||||||
41
lisp/my-nprocs.el
Normal file
41
lisp/my-nprocs.el
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
;;; my-nprocs.el --- -*- lexical-binding: t -*-
|
||||||
|
|
||||||
|
;; Copyright (C) 2024 Benson Chu
|
||||||
|
|
||||||
|
;; Author: Benson Chu <bensonchu457@gmail.com>
|
||||||
|
;; Created: [2024-12-27 10:07]
|
||||||
|
|
||||||
|
;; This file is not part of GNU Emacs
|
||||||
|
|
||||||
|
;; This program is free software: you can redistribute it and/or modify
|
||||||
|
;; it under the terms of the GNU General Public License as published by
|
||||||
|
;; the Free Software Foundation, either version 3 of the License, or
|
||||||
|
;; (at your option) any later version.
|
||||||
|
|
||||||
|
;; This program is distributed in the hope that it will be useful,
|
||||||
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
;; GNU General Public License for more details.
|
||||||
|
|
||||||
|
;; You should have received a copy of the GNU General Public License
|
||||||
|
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
(require 'dash)
|
||||||
|
|
||||||
|
(defvar nprocs-cache nil)
|
||||||
|
|
||||||
|
(defun nprocs ()
|
||||||
|
(or nprocs-cache
|
||||||
|
(setq nprocs-cache
|
||||||
|
(-->
|
||||||
|
(shell-command-to-string "nproc")
|
||||||
|
(string-to-number it)
|
||||||
|
(let ((num it))
|
||||||
|
(max (- num 16)
|
||||||
|
(/ num 2)))))))
|
||||||
|
|
||||||
|
(provide 'my-nprocs)
|
||||||
|
;;; my-nprocs.el ends here
|
||||||
Loading…
Reference in a new issue