Ticket UUID: | 3065485 | |||
Title: | TIP 377 : Portably determine number of processors | |||
Type: | RFE | Version: | None | |
Submitter: | andreas_kupries | Created on: | 2010-09-13 19:15:29 | |
Subsystem: | 54. Configuration Reporting | Assigned To: | vasiljevic | |
Priority: | 5 Medium | Severity: | ||
Status: | Open | Last Modified: | 2010-09-24 22:58:51 | |
Resolution: | None | Closed By: | ||
Closed on: | ||||
Description: |
For initialization of thread pools to a sensible size it would be useful to know the number of processors/cores/... the current machine has. The following link has quite a bit of info for various platforms: http://stackoverflow.com/questions/150355/programmatically-find-the-number-of-cores-on-a-machine The C-level API might be best to have in Tcl itself, the Tcl command however should be in the Thread package, IMHO. | |||
User Comments: |
egavilan added on 2010-09-24 22:58:51:
On modern BSDs, you can get the number of CPUs used by the kernel with int numCPU; int mib[2]; size_t len; /* set the mib for hw.ncpu */ mib[0] = CTL_HW; mib[1] = HW_NCPU; /* get the number of CPUs from the system */ sysctl(mib, 2, &numCPU, &len, NULL, 0); the #includes needed are #include <sys/types.h> #include <sys/sysctl.h> for {Free|Dragonfly}BSD and #include <sys/param.h> #include <sys/sysctl.h> For {Open|Net}BSD andreas_kupries added on 2010-09-17 02:57:54: File Added - 386869: numcpu.c andreas_kupries added on 2010-09-16 22:40:24: Now a proper TIP. andreas_kupries added on 2010-09-15 05:23:19: File Added - 386677: numcpu.c |
Attachments:
- numcpu.c [download] added by andreas_kupries on 2010-09-17 02:57:54. [details]