You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/tools/ncpu
Xinwei Xiong 363deff6f8
feat(release-v3.4): Enhanced Build, Deployment, and Configuration Management for Optimized Performance and Automation (#1255)
1 year ago
..
README.md 🔥Super feat: OpenIM CTL optimization is supported (#926) 1 year ago
go.mod feat(release-v3.4): Enhanced Build, Deployment, and Configuration Management for Optimized Performance and Automation (#1255) 1 year ago
go.sum feat: add scripts format (#811) 1 year ago
ncpu.go Large refactoring projects: OpenIM automation, scripting, and openimctl refactoring (#825) 1 year ago
ncpu_test.go Large refactoring projects: OpenIM automation, scripting, and openimctl refactoring (#825) 1 year ago

README.md

ncpu

ncpu is a simple utility to fetch the number of CPU cores across different operating systems.

Introduction

In various scenarios, especially while compiling code, it's beneficial to know the number of available CPU cores to optimize the build process. However, the command to fetch the CPU core count differs between operating systems. For example, on Linux, we use nproc, while on macOS, it's sysctl -n hw.ncpu. The ncpu utility provides a unified way to obtain this number, regardless of the platform.

Usage

To retrieve the number of CPU cores, simply use the ncpu command:

$ ncpu

This will return an integer representing the number of available CPU cores.

Example:

Let's say you're compiling a project using make. To utilize all the CPU cores for the compilation process, you can use:

$ make -j $(ncpu) build # or any other build command

The above command will ensure the build process takes advantage of all the available CPU cores, thereby potentially speeding up the compilation.

Why use ncpu?

  • Cross-platform compatibility: No need to remember or detect which OS-specific command to use. Just use ncpu!

  • Ease of use: A simple and intuitive command that's easy to incorporate into scripts or command-line operations.

  • Consistency: Ensures consistent behavior and output across different systems and environments.

Installation

(Include installation steps here, e.g., how to clone the repo, build the tool, or install via package manager.)