프로그래밍 방식으로 머신의 코어 수 결정
다양한 컴퓨팅 시나리오에서는 머신에서 사용 가능한 코어 수를 이해하는 것이 중요합니다. C/C는 이 작업에 대해 플랫폼 독립적인 솔루션을 제공하지 않습니다. 그러나 이 정보를 제공할 수 있는 플랫폼별 접근 방식이 있습니다.
C 11(플랫폼 독립적)
C 11에서는 std::thread::hardware_concurrency를 도입합니다. () 함수는 숫자를 얻는 이식 가능한 방법을 제공합니다.
#include <thread> const auto processor_count = std::thread::hardware_concurrency();
Pre-C 11(플랫폼별)
C 11 이전의 C에서는 특정 방법을 사용해야 합니다. 플랫폼:
Win32
SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); int numCPU = sysinfo.dwNumberOfProcessors;
Linux, Solaris, AIX, Mac OS X >=10.4
int numCPU = sysconf(_SC_NPROCESSORS_ONLN);
FreeBSD, MacOS X, NetBSD, OpenBSD
int mib[4]; int numCPU; std::size_t len = sizeof(numCPU); /* set the mib for hw.ncpu */ mib[0] = CTL_HW; mib[1] = HW_AVAILCPU; // alternatively, try HW_NCPU; /* get the number of CPUs from the system */ sysctl(mib, 2, &numCPU, &len, NULL, 0);
HPUX
int numCPU = mpctl(MPC_GETNUMSPUS, NULL, NULL);
IRIX
int numCPU = sysconf(_SC_NPROC_ONLN);
목표- C(Mac OS X >=10.5 또는 iOS)
NSUInteger a = [[NSProcessInfo processInfo] processorCount]; NSUInteger b = [[NSProcessInfo processInfo] activeProcessorCount];
이러한 플랫폼별 방법이나 C 11 플랫폼 독립적인 접근 방식을 활용하면 시스템에서 사용 가능한 코어 수를 프로그래밍 방식으로 결정할 수 있으므로 리소스 활용도를 최적화하고 귀하의 애플리케이션에서 더 나은 성능을 얻으세요.
위 내용은 머신의 코어 수를 프로그래밍 방식으로 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!