mirror of
https://github.com/pestctrl/emacs-config.git
synced 2026-02-16 08:14:15 +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
|
||||
(lsp-completion-mode . my/lsp-mode-setup-completion)
|
||||
:config
|
||||
(require 'my-nprocs)
|
||||
(with-eval-after-load 'lsp-clangd
|
||||
(add-to-list 'lsp-clients-clangd-args
|
||||
"-j=16"))
|
||||
(format "-j=%d"
|
||||
(nprocs))))
|
||||
|
||||
(setq lsp-clangd-binary-path
|
||||
(executable-find "clangd"))
|
||||
|
|
|
|||
|
|
@ -28,14 +28,12 @@
|
|||
(require 'eieio)
|
||||
(require 'load-llvm-mode)
|
||||
(require 'my-clang-options)
|
||||
(require 'my-nprocs)
|
||||
|
||||
;; =========================== LLVM Rebuild ==========================
|
||||
|
||||
(defvar llvm-core-count
|
||||
(--> "nproc"
|
||||
(shell-command-to-string it)
|
||||
(string-to-number it)
|
||||
(- it 16)))
|
||||
(nprocs))
|
||||
|
||||
(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"
|
||||
|
|
|
|||
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