Skip to content

Commit 1df4b49

Browse files
committed
use Etc.nprocessors for processor count when available
1 parent 4186ffc commit 1df4b49

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

lib/image_optim/config.rb

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
require 'image_optim/hash_helpers'
66
require 'image_optim/worker'
77
require 'image_optim/cmd'
8+
require 'etc'
89
require 'set'
910
require 'yaml'
1011

@@ -205,9 +206,17 @@ def to_s
205206

206207
private
207208

208-
# http://stackoverflow.com/a/6420817
209209
def processor_count
210-
@processor_count ||= case host_os = RbConfig::CONFIG['host_os']
210+
@processor_count ||= if Etc.respond_to?(:nprocessors)
211+
Etc.nprocessors
212+
else
213+
processor_count_manual
214+
end
215+
end
216+
217+
# http://stackoverflow.com/a/6420817
218+
def processor_count_manual
219+
case host_os = RbConfig::CONFIG['host_os']
211220
when /darwin9/
212221
Cmd.capture 'hwprefs cpu_count'
213222
when /darwin/

0 commit comments

Comments
 (0)