You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: processor_counter.rb
    path of file: ./repos/stackneveroverflow/vendor/bundle/ruby/2.3.0/gems/concurrent-ruby-1.0.5/lib/concurrent/utility
    
    the code of the file until where you have to start completion: require 'rbconfig'
require 'concurrent/delay'

module Concurrent
  module Utility

    # @!visibility private
    class ProcessorCounter
      def initialize
        @processor_count          = Delay.new { compute_processor_count }
        @physical_processor_count = Delay.new { compute_physical_processor_count }
      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
  
    
      def compute_physical_processor_count
        ppc = case RbConfig::CONFIG["target_os"]
              when /darwin1/
                IO.popen("/usr/sbin/sysctl -n hw.physicalcpu", &:read).to_i
              when /linux/
                cores = {} # unique physical ID / core ID combinations
                phy   = 0
                IO.read("/proc/cpuinfo").scan(/^physical id.*|^core id.*/) do |ln|
                  if ln.start_with?("physical")
                    phy = ln[/\d+/]
                  elsif ln.start_with?("core")
                    cid        = phy + ":" + ln[/\d+/]
                    cores[cid] = true if not cores[cid]
                  end
                end