parallel 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +5 -0
- data/Gemfile.lock +1 -1
- data/Readme.md +1 -0
- data/lib/parallel.rb +18 -12
- data/lib/parallel/version.rb +1 -1
- data/spec/parallel_spec.rb +2 -2
- metadata +36 -50
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
data/Readme.md
CHANGED
@@ -110,6 +110,7 @@ Authors
|
|
110
110
|
- [Rob Worley](http://github.com/robworley)
|
111
111
|
- [Tasveer Singh](https://github.com/tazsingh)
|
112
112
|
- [Joachim](https://github.com/jmozmoz)
|
113
|
+
- [yaoguai](https://github.com/yaoguai)
|
113
114
|
|
114
115
|
[Michael Grosser](http://grosser.it)<br/>
|
115
116
|
michael@grosser.it<br/>
|
data/lib/parallel.rb
CHANGED
@@ -135,18 +135,24 @@ module Parallel
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def physical_processor_count
|
138
|
-
@physical_processor_count ||=
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
138
|
+
@physical_processor_count ||= begin
|
139
|
+
ppc = case RbConfig::CONFIG['host_os']
|
140
|
+
when /darwin1/, /freebsd/
|
141
|
+
`sysctl -n hw.physicalcpu`.to_i
|
142
|
+
when /linux/
|
143
|
+
cores_per_physical = `grep cores /proc/cpuinfo`[/\d+/].to_i
|
144
|
+
physicals = `grep 'physical id' /proc/cpuinfo |sort|uniq|wc -l`.to_i
|
145
|
+
physicals * cores_per_physical
|
146
|
+
when /mswin|mingw/
|
147
|
+
require 'win32ole'
|
148
|
+
wmi = WIN32OLE.connect("winmgmts://")
|
149
|
+
cpu = wmi.ExecQuery("select NumberOfProcessors from Win32_Processor")
|
150
|
+
cpu.to_enum.first.NumberOfLogicalProcessors
|
151
|
+
else
|
152
|
+
processor_count
|
153
|
+
end
|
154
|
+
# fall back to logical count if physical info is invalid
|
155
|
+
ppc > 0 ? ppc : processor_count
|
150
156
|
end
|
151
157
|
end
|
152
158
|
|
data/lib/parallel/version.rb
CHANGED
data/spec/parallel_spec.rb
CHANGED
@@ -36,9 +36,9 @@ describe Parallel do
|
|
36
36
|
(1..999).should include(Parallel.physical_processor_count)
|
37
37
|
end
|
38
38
|
|
39
|
-
it "is
|
39
|
+
it "is even factor of logical cpus" do
|
40
40
|
pending if ENV["TRAVIS"]
|
41
|
-
|
41
|
+
(Parallel.processor_count % Parallel.physical_processor_count).should == 0
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
metadata
CHANGED
@@ -1,49 +1,32 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: parallel
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 63
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 8
|
9
|
+
- 0
|
10
|
+
version: 0.8.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Michael Grosser
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
|
13
|
-
|
14
|
-
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREEvTVJBd0RnWURWUVFEREFkdGFX
|
15
|
-
Tm8KWVdWc01SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSFozSnZjM05sY2pFU01C
|
16
|
-
QUdDZ21TSm9tVDhpeGtBUmtXQW1sMApNQjRYRFRFek1ESXdNekU0TVRNeE1W
|
17
|
-
b1hEVEUwTURJd016RTRNVE14TVZvd1B6RVFNQTRHQTFVRUF3d0hiV2xqCmFH
|
18
|
-
RmxiREVYTUJVR0NnbVNKb21UOGl4a0FSa1dCMmR5YjNOelpYSXhFakFRQmdv
|
19
|
-
SmtpYUprL0lzWkFFWkZnSnAKZERDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFB
|
20
|
-
RGdnRVBBRENDQVFvQ2dnRUJBTW9yWG8vaGdiVXE5NytrSUk5SApNc1FjTGRD
|
21
|
-
Lzd3UTFaUDJPc2hWSFBrZVAwcUg4TUJIR2c2ZVlpc09YMnViTmFnRjlZVENa
|
22
|
-
V25ocmRLcndwTE9PCmNQTGFaYmpVamxqSjNjUVIzQjhZbjF2ZVY1SWhHODZR
|
23
|
-
c2VUQmp5bXpKV3NMcHFKMVVaR3BmQjl0WGNzRnR1eE8KNnZIdmNJSGR6dmMv
|
24
|
-
T1VrSUN0dExiSCsxcWI2cnNIVWNlcWgrSnJINEdyc0o1SDRoQWZJZHlTMlhN
|
25
|
-
SzdZUktiaApoK0lCdTZkRldKSkJ5ekZzWW1WMVBEWGxuM1VCbWdBdDY1Y21D
|
26
|
-
dTRxUGZUaGlvQ0dEemJTSnJHREdMbXcvcEZYCkZQcFZDbTF6Z1lTYjF2NlFu
|
27
|
-
ZjNjZ1hhMmYyd1lHbTE3K3pBVnlJRHB3cnlGcnU5eUYvakp4RTM4ei9EUnNk
|
28
|
-
OVIKLzg4Q0F3RUFBYU01TURjd0NRWURWUjBUQkFJd0FEQWRCZ05WSFE0RUZn
|
29
|
-
UVVzaU5uWEh0S2VNWVljcjR5SlZtUQpXT05MK0l3d0N3WURWUjBQQkFRREFn
|
30
|
-
U3dNQTBHQ1NxR1NJYjNEUUVCQlFVQUE0SUJBUUFseU43a0tvL05RQ1EwCkFP
|
31
|
-
elpMWjNXQWVQdlN0a0NGSUo1M3RzdjVLeW80cE1BbGx2K0JnUHp6QnQ3cWk2
|
32
|
-
MDVtRlNMNnpCZDl1TG91K1cKQ28zczQ4cDFkeTdDampBZlZRZG1WTkhGM013
|
33
|
-
WHRmQzJPRXl2U1FQaTR4S1I4aWJhOHdhM3hwOUxWbzFQdUxwdwovNkRzckNo
|
34
|
-
V3c3NEhmc0pONnFKT0s2ODRoSmVUOGxCWUFVZmlDM3dEMG93b1BTZytYdHlB
|
35
|
-
QWRkaXNSK0tWNVkxCk5tVkh1THRRY05UWnkrZ1JodDNhaEpSTXVDNlF5TG1r
|
36
|
-
VHNmKzZNYWVud0FNa0FnSGRzd0dzSnp0T25ObkJhM0YKeTBrQ1NXbUs2RCt4
|
37
|
-
L1NiZlM2cjdLZTA3TVJxemlKZEI5R3VFMSswY0lSdUZoOEVRK0xONkhYQ0tN
|
38
|
-
NXBvbi9HVQp5Y3dNWGZsMAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
39
|
-
date: 2013-06-30 00:00:00.000000000 Z
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2013-08-30 00:00:00 Z
|
40
19
|
dependencies: []
|
20
|
+
|
41
21
|
description:
|
42
22
|
email: michael@grosser.it
|
43
23
|
executables: []
|
24
|
+
|
44
25
|
extensions: []
|
26
|
+
|
45
27
|
extra_rdoc_files: []
|
46
|
-
|
28
|
+
|
29
|
+
files:
|
47
30
|
- .travis.yml
|
48
31
|
- Gemfile
|
49
32
|
- Gemfile.lock
|
@@ -87,34 +70,37 @@ files:
|
|
87
70
|
- spec/parallel_spec.rb
|
88
71
|
- spec/spec_helper.rb
|
89
72
|
homepage: https://github.com/grosser/parallel
|
90
|
-
licenses:
|
73
|
+
licenses:
|
91
74
|
- MIT
|
92
75
|
post_install_message:
|
93
76
|
rdoc_options: []
|
94
|
-
|
77
|
+
|
78
|
+
require_paths:
|
95
79
|
- lib
|
96
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
97
81
|
none: false
|
98
|
-
requirements:
|
99
|
-
- -
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
|
102
|
-
segments:
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
hash: 3
|
86
|
+
segments:
|
103
87
|
- 0
|
104
|
-
|
105
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
version: "0"
|
89
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
106
90
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
|
111
|
-
segments:
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
hash: 3
|
95
|
+
segments:
|
112
96
|
- 0
|
113
|
-
|
97
|
+
version: "0"
|
114
98
|
requirements: []
|
99
|
+
|
115
100
|
rubyforge_project:
|
116
101
|
rubygems_version: 1.8.25
|
117
102
|
signing_key:
|
118
103
|
specification_version: 3
|
119
104
|
summary: Run any kind of code in parallel processes
|
120
105
|
test_files: []
|
106
|
+
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|