Object
@!visibility private
Number of physical processor cores on the current system. For performance reasons the calculated value will be memoized on the first call.
On Windows the Win32 API will be queried for the `NumberOfCores from Win32_Processor`. This will return the total number "of cores for the current instance of the processor." On Unix-like operating systems either the `hwprefs` or `sysctl` utility will be called in a subshell and the returned value will be used. In the rare case where none of these methods work or an exception is raised the function will simply return 1.
@return [Integer] number physical processor cores on the current system
@see github.com/grosser/parallel/blob/4fc8b89d08c7091fe0419ca8fba1ec3ce5a8d185/lib/parallel.rb
@see msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx @see www.unix.com/man-page/osx/1/HWPREFS/ @see linux.die.net/man/8/sysctl
# File lib/concurrent/utility/processor_counter.rb, line 69 def physical_processor_count @physical_processor_count.value end
Number of processors seen by the OS and used for process scheduling. For performance reasons the calculated value will be memoized on the first call.
When running under JRuby the Java runtime call `java.lang.Runtime.getRuntime.availableProcessors` will be used. According to the Java documentation this "value may change during a particular invocation of the virtual machine... [applications] should therefore occasionally poll this property." Subsequently the result will NOT be memoized under JRuby.
On Windows the Win32 API will be queried for the `NumberOfLogicalProcessors from Win32_Processor`. This will return the total number "logical processors for the current instance of the processor", which taked into account hyperthreading.
AIX: /usr/sbin/pmcycles (AIX 5+), /usr/sbin/lsdev
BSD: /sbin/sysctl
Cygwin: /proc/cpuinfo
Darwin: /usr/bin/hwprefs, /usr/sbin/sysctl
HP-UX: /usr/sbin/ioscan
IRIX: /usr/sbin/sysconf
Linux: /proc/cpuinfo
Minix 3+: /proc/cpuinfo
Solaris: /usr/sbin/psrinfo
Tru64 UNIX: /usr/sbin/psrinfo
UnixWare: /usr/sbin/psrinfo
@return [Integer] number of processors seen by the OS or Java runtime
@see github.com/grosser/parallel/blob/4fc8b89d08c7091fe0419ca8fba1ec3ce5a8d185/lib/parallel.rb
@see docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html#availableProcessors() @see msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx
# File lib/concurrent/utility/processor_counter.rb, line 48 def processor_count @processor_count.value end
Generated with the Darkfish Rdoc Generator 2.