Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 1.44 KB

GOMAXPROCS.md

File metadata and controls

27 lines (18 loc) · 1.44 KB

GOPMAXPROCS

The GOMAXPROCS environment variable in Go is used to set the maximum number of CPUs that the Go runtime can utilize simultaneously to execute Go routines. This variable essentially controls the degree of parallelism that the Go runtime can employ.

Here's a breakdown of its purpose and usage:

Purpose:

  • Control the maximum number of CPUs that Go can utilize concurrently for executing Go routines.

Usage:

  • Set GOMAXPROCS to a positive integer value to specify the maximum number of CPUs that the Go runtime can use.
  • If GOMAXPROCS is not set explicitly, Go runtime will use the number of logical CPUs available on the machine.

When to Use:

  • Adjust GOMAXPROCS to optimize performance for CPU-bound applications by utilizing multiple CPU cores efficiently.
  • Useful for controlling the level of parallelism in concurrent programs.

Example:

# Set GOMAXPROCS to utilize 4 CPU cores
GOMAXPROCS=4 go run main.go

In the example above, GOMAXPROCS is set to 4, instructing the Go runtime to utilize up to 4 CPU cores for executing Go routines concurrently.

This environment variable is particularly beneficial for optimizing performance in multi-threaded Go applications where parallelism can significantly enhance throughput and responsiveness. However, it's essential to balance the value of GOMAXPROCS based on the specific workload and characteristics of the underlying hardware to achieve optimal performance.