From 205078f891d87e0e966ad8616fdf0306437f0370 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 20 Mar 2025 14:28:54 +0100 Subject: [PATCH] nproc: Optimize. * lib/nproc.c (num_processors): Optimize away the num_processors_ignoring_omp (query) call when possible. --- ChangeLog | 6 ++++++ lib/nproc.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 8a788702e6..f7049270d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-03-20 Bruno Haible + + nproc: Optimize. + * lib/nproc.c (num_processors): Optimize away the + num_processors_ignoring_omp (query) call when possible. + 2025-03-19 Paul Eggert nproc, openmp-init: omit unnecessary strtol code diff --git a/lib/nproc.c b/lib/nproc.c index 051426a6f0..83439aa0eb 100644 --- a/lib/nproc.c +++ b/lib/nproc.c @@ -434,6 +434,9 @@ num_processors (enum nproc_query query) query = NPROC_CURRENT; } /* Here query is one of NPROC_ALL, NPROC_CURRENT. */ + if (omp_env_limit == 1) + /* No need to even call num_processors_ignoring_omp (query). */ + return 1; { unsigned long nprocs = num_processors_ignoring_omp (query); return MIN (nprocs, omp_env_limit); -- 2.39.5