Sha256: 1546ea82af30ac74a9e5e9adc7d2bdc66f5d54e5011238d2699600026251211f

Contents?: true

Size: 597 Bytes

Versions: 6

Compression:

Stored size: 597 Bytes

Contents

require 'rbconfig'

module Celluloid
  module CPUCounter
    case RbConfig::CONFIG['host_os'][/^[A-Za-z]+/]
    when 'darwin'
      @cores = Integer(`sysctl hw.ncpu`[/\d+/])
    when 'linux'
      @cores = if File.exists?("/sys/devices/system/cpu/present")
        File.read("/sys/devices/system/cpu/present").split('-').last.to_i+1
      else
        Dir["/sys/devices/system/cpu/cpu*"].select { |n| n=~/cpu\d+/ }.count
      end
    when 'mingw', 'mswin'
      @cores = Integer(ENV["NUMBER_OF_PROCESSORS"][/\d+/])
    else
      @cores = nil
    end

    def self.cores; @cores; end
  end
end


Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
celluloid-0.14.1 lib/celluloid/cpu_counter.rb
celluloid-0.14.1.pre lib/celluloid/cpu_counter.rb
sidekiq-statsd-0.1.1 vendor/ruby/1.9.1/gems/celluloid-0.14.0/lib/celluloid/cpu_counter.rb
sidekiq-statsd-0.1.0 vendor/ruby/1.9.1/gems/celluloid-0.14.0/lib/celluloid/cpu_counter.rb
celluloid-0.14.0 lib/celluloid/cpu_counter.rb
celluloid-0.14.0.pre lib/celluloid/cpu_counter.rb