concurrent-ruby-ext 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -12
  3. data/README.md +28 -38
  4. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b5f8741056ad5cd17cf7256affbcd757ed4ac30
4
- data.tar.gz: bf435ff8746a532e8b1a93107e1774cb08ec6ac4
3
+ metadata.gz: 4a3fcd667a249fe0c31cf68f31a244afb00d23cf
4
+ data.tar.gz: eab59071aec9ac8d786d244af901299bf6e05fb5
5
5
  SHA512:
6
- metadata.gz: 4f2dbe9ed78a6626fb1b73548c7373decea8175d92bbecd55e2e923adc7012d0e78401fc864a8eb8da77cf820c52f84a4fe91af3264dfada9c2f6eca54016c63
7
- data.tar.gz: 78f8ced2992da467da4af7a46289d23f8ebc1bc3fdce30e1db855115ff783c52cb61f8fe3e88f7d2878c2cc824f21ae9b5ff0f7e23655e80fad207d7b93c5bf3
6
+ metadata.gz: 652553ef5f900a9cc55a9ab7a52b93e3372deb2f2f4935e73f41353df3c100ef94484dbf75321b612f208c45fb3fd98a70e2d12fad46a1ae752c6cbdc7f2475f
7
+ data.tar.gz: d39d0d407a1dc33320c3963f308f16473a949e3cec2d7b9879ae4378768655697a0ed596b05bab91a268ebbebdce7bd981078389fcd862433b01b32f3013e5eb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## Current Release v1.0.4 (27 Dec 2016)
2
+
3
+ concurrent-ruby:
4
+
5
+ * Nothing
6
+
7
+ concurrent-ruby-edge:
8
+
9
+ * New promises' API renamed, lots of improvements, edge bumped to 0.3.0
10
+ * **Incompatible** with previous 0.2.3 version
11
+ * see https://github.com/ruby-concurrency/concurrent-ruby/pull/522
12
+
13
+ ## Release v1.0.3 (17 Dec 2016)
14
+
1
15
  * Trigger execution of flattened delayed futures
2
16
  * Avoid forking for processor_count if possible
3
17
  * Semaphore Mutex and JRuby parity
@@ -12,14 +26,14 @@
12
26
  * Fixes format-security error when compiling ruby_193_compatible.h
13
27
  * Concurrent::Atom#swap fixed: reraise the exceptions from block
14
28
 
15
- ## Current Release v1.0.2 (2 May 2016)
29
+ ## Release v1.0.2 (2 May 2016)
16
30
 
17
31
  * Fix bug with `Concurrent::Map` MRI backend `#inspect` method
18
32
  * Fix bug with `Concurrent::Map` MRI backend using `Hash#value?`
19
33
  * Improved documentation and examples
20
34
  * Minor updates to Edge
21
35
 
22
- ### Release v1.0.1 (27 February 2016)
36
+ ## Release v1.0.1 (27 February 2016)
23
37
 
24
38
  * Fix "uninitialized constant Concurrent::ReentrantReadWriteLock" error.
25
39
  * Better handling of `autoload` vs. `require`.
@@ -32,7 +46,7 @@
32
46
  * Improved documentation.
33
47
  * Updated README and CONTRIBUTING.
34
48
 
35
- ### Release v1.0.0 (13 November 2015)
49
+ ## Release v1.0.0 (13 November 2015)
36
50
 
37
51
  * Rename `attr_volatile_with_cas` to `attr_atomic`
38
52
  * Add `clear_each` to `LockFreeStack`
@@ -80,7 +94,7 @@
80
94
  * Many improved tests
81
95
  * Some internal reorganization
82
96
 
83
- ### Release v0.9.1 (09 August 2015)
97
+ ## Release v0.9.1 (09 August 2015)
84
98
 
85
99
  * Fixed a Rubiniux bug in synchronization object
86
100
  * Fixed all interpreter warnings (except circular references)
@@ -94,7 +108,7 @@
94
108
  * `ThreadLocalVar#bind` method is now public
95
109
  * Refactored many tests
96
110
 
97
- ### Release v0.9.0 (10 July 2015)
111
+ ## Release v0.9.0 (10 July 2015)
98
112
 
99
113
  * Updated `AtomicReference`
100
114
  - `AtomicReference#try_update` now simply returns instead of raising exception
@@ -193,14 +207,14 @@
193
207
  * Removed brute-force killing of threads in tests
194
208
  * Fixed a thread pool bug when the operating system cannot allocate more threads
195
209
 
196
- ### Release v0.8.0 (25 January 2015)
210
+ ## Release v0.8.0 (25 January 2015)
197
211
 
198
212
  * C extension for MRI have been extracted into the `concurrent-ruby-ext` companion gem.
199
213
  Please see the README for more detail.
200
214
  * Better variable isolation in `Promise` and `Future` via an `:args` option
201
215
  * Continued to update intermittently failing tests
202
216
 
203
- ### Release v0.7.2 (24 January 2015)
217
+ ## Release v0.7.2 (24 January 2015)
204
218
 
205
219
  * New `Semaphore` class based on [java.util.concurrent.Semaphore](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html)
206
220
  * New `Promise.all?` and `Promise.any?` class methods
@@ -217,7 +231,7 @@
217
231
  * Tests now run on new Travis build environment
218
232
  * Multiple documentation updates
219
233
 
220
- ### Release v0.7.1 (4 December 2014)
234
+ ## Release v0.7.1 (4 December 2014)
221
235
 
222
236
  Please see the [roadmap](https://github.com/ruby-concurrency/concurrent-ruby/issues/142) for more information on the next planned release.
223
237
 
@@ -238,7 +252,7 @@ Please see the [roadmap](https://github.com/ruby-concurrency/concurrent-ruby/iss
238
252
  * Removed confusing warning when not using native extenstions
239
253
  * Improved documentation
240
254
 
241
- ### Release v0.7.0 (13 August 2014)
255
+ ## Release v0.7.0 (13 August 2014)
242
256
 
243
257
  * Merge the [atomic](https://github.com/ruby-concurrency/atomic) gem
244
258
  - Pure Ruby `MutexAtomic` atomic reference class
@@ -271,14 +285,14 @@ Please see the [roadmap](https://github.com/ruby-concurrency/concurrent-ruby/iss
271
285
  * Removed deprecated `Actor` class
272
286
  * Better support for Rubinius
273
287
 
274
- ### Release v0.6.1 (14 June 2014)
288
+ ## Release v0.6.1 (14 June 2014)
275
289
 
276
290
  * Many improvements to `Concurrent::Actress`
277
291
  * Bug fixes to `Concurrent::RubyThreadPoolExecutor`
278
292
  * Fixed several brittle tests
279
293
  * Moved documentation to http://ruby-concurrency.github.io/concurrent-ruby/frames.html
280
294
 
281
- ### Release v0.6.0 (25 May 2014)
295
+ ## Release v0.6.0 (25 May 2014)
282
296
 
283
297
  * Added `Concurrent::Observable` to encapsulate our thread safe observer sets
284
298
  * Improvements to new `Channel`
@@ -317,7 +331,7 @@ Please see the [roadmap](https://github.com/ruby-concurrency/concurrent-ruby/iss
317
331
  * First implementation of [new, high-performance](https://github.com/ruby-concurrency/concurrent-ruby/pull/49) `Channel`
318
332
  * `Actor` is deprecated in favor of new experimental actor implementation [#73](https://github.com/ruby-concurrency/concurrent-ruby/pull/73). To avoid namespace collision it is living in `Actress` namespace until `Actor` is removed in next release.
319
333
 
320
- ### Release v0.5.0
334
+ ## Release v0.5.0
321
335
 
322
336
  This is the most significant release of this gem since its inception. This release includes many improvements and optimizations. It also includes several bug fixes. The major areas of focus for this release were:
323
337
 
data/README.md CHANGED
@@ -9,39 +9,28 @@
9
9
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](http://opensource.org/licenses/MIT)
10
10
  [![Gitter chat](https://img.shields.io/badge/IRC%20(gitter)-devs%20%26%20users-brightgreen.svg)](https://gitter.im/ruby-concurrency/concurrent-ruby)
11
11
 
12
- <table>
13
- <tr>
14
- <td align="left" valign="top">
15
- <p>
16
- Modern concurrency tools for Ruby. Inspired by
17
- <a href="http://www.erlang.org/doc/reference_manual/processes.html">Erlang</a>,
18
- <a href="http://clojure.org/concurrent_programming">Clojure</a>,
19
- <a href="http://akka.io/">Scala</a>,
20
- <a href="http://www.haskell.org/haskellwiki/Applications_and_libraries/Concurrency_and_parallelism#Concurrent_Haskell">Haskell</a>,
21
- <a href="http://blogs.msdn.com/b/dsyme/archive/2010/02/15/async-and-parallel-design-patterns-in-f-part-3-agents.aspx">F#</a>,
22
- <a href="http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx">C#</a>,
23
- <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html">Java</a>,
24
- and classic concurrency patterns.
25
- </p>
26
- <p>
27
- The design goals of this gem are:
28
- <ul>
29
- <li>Be an 'unopinionated' toolbox that provides useful utilities without debating which is better or why</li>
30
- <li>Remain free of external gem dependencies</li>
31
- <li>Stay true to the spirit of the languages providing inspiration</li>
32
- <li>But implement in a way that makes sense for Ruby</li>
33
- <li>Keep the semantics as idiomatic Ruby as possible</li>
34
- <li>Support features that make sense in Ruby</li>
35
- <li>Exclude features that don't make sense in Ruby</li>
36
- <li>Be small, lean, and loosely coupled</li>
37
- </ul>
38
- </p>
39
- </td>
40
- <td align="right" valign="top">
41
- <img src="https://raw.githubusercontent.com/ruby-concurrency/concurrent-ruby/master/doc/logo/concurrent-ruby-logo-300x300.png"/>
42
- </td>
43
- </tr>
44
- </table>
12
+ Modern concurrency tools for Ruby. Inspired by
13
+ [Erlang](http://www.erlang.org/doc/reference_manual/processes.html),
14
+ [Clojure](http://clojure.org/concurrent_programming),
15
+ [Scala](http://akka.io/),
16
+ [Haskell](http://www.haskell.org/haskellwiki/Applications_and_libraries/Concurrency_and_parallelism#Concurrent_Haskell),
17
+ [F#](http://blogs.msdn.com/b/dsyme/archive/2010/02/15/async-and-parallel-design-patterns-in-f-part-3-agents.aspx),
18
+ [C#](http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx),
19
+ [Java](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html),
20
+ and classic concurrency patterns.
21
+
22
+ <img src="https://raw.githubusercontent.com/ruby-concurrency/concurrent-ruby/master/doc/logo/concurrent-ruby-logo-300x300.png" align="right" style="margin-left: 20px;" />
23
+
24
+ The design goals of this gem are:
25
+
26
+ * Be an 'unopinionated' toolbox that provides useful utilities without debating which is better or why
27
+ * Remain free of external gem dependencies
28
+ * Stay true to the spirit of the languages providing inspiration
29
+ * But implement in a way that makes sense for Ruby
30
+ * Keep the semantics as idiomatic Ruby as possible
31
+ * Support features that make sense in Ruby
32
+ * Exclude features that don't make sense in Ruby
33
+ * Be small, lean, and loosely coupled
45
34
 
46
35
  ### Supported Ruby versions
47
36
 
@@ -127,13 +116,13 @@ These features are under active development and may change frequently. They are
127
116
  keep backward compatibility (there may also lack tests and documentation). Semantic versions will
128
117
  be obeyed though. Features developed in `concurrent-ruby-edge` are expected to move to `concurrent-ruby` when final.
129
118
 
130
- * [Actor](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Actor.html):
131
- Implements the Actor Model, where concurrent actors exchange messages.
132
- * [New Future Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/FutureShortcuts.html):
119
+ * [Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html):
133
120
  Unified implementation of futures and promises which combines features of previous `Future`,
134
121
  `Promise`, `IVar`, `Event`, `dataflow`, `Delay`, and `TimerTask` into a single framework. It extensively uses the
135
122
  new synchronization layer to make all the features **non-blocking** and **lock-free**, with the exception of obviously blocking
136
123
  operations like `#wait`, `#value`. It also offers better performance.
124
+ * [Actor](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Actor.html):
125
+ Implements the Actor Model, where concurrent actors exchange messages.
137
126
  * [Channel](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/Channel.html):
138
127
  Communicating Sequential Processes ([CSP](https://en.wikipedia.org/wiki/Communicating_sequential_processes)).
139
128
  Functionally equivalent to Go [channels](https://tour.golang.org/concurrency/2) with additional
@@ -141,15 +130,16 @@ be obeyed though. Features developed in `concurrent-ruby-edge` are expected to m
141
130
  * [LazyRegister](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/LazyRegister.html)
142
131
  * [AtomicMarkableReference](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/AtomicMarkableReference.html)
143
132
  * [LockFreeLinkedSet](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/LockFreeLinkedSet.html)
144
- * [LockFreeStack](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/LockFreeStack.html)
133
+ * [LockFreeStack](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/LockFreeStack.html)
145
134
 
146
135
  #### Statuses:
147
136
 
148
137
  *Why are these not in core?*
149
138
 
139
+ - **Promises Framework** - They are being finalized to be able to be moved to core. They'll deprecate old
140
+ implementation.
150
141
  - **Actor** - Partial documentation and tests; depends on new future/promise framework; stability is good.
151
142
  - **Channel** - Brand new implementation; partial documentation and tests; stability is good.
152
- - **Future/Promise Framework** - API changes; partial documentation and tests; stability is good.
153
143
  - **LazyRegister** - Missing documentation and tests.
154
144
  - **AtomicMarkableReference, LockFreeLinkedSet, LockFreeStack** - Need real world battle testing.
155
145
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: concurrent-ruby-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry D'Antonio
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-12-17 00:00:00.000000000 Z
12
+ date: 2016-12-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: concurrent-ruby
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 1.0.3
20
+ version: 1.0.4
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 1.0.3
27
+ version: 1.0.4
28
28
  description: |2
29
29
  C extensions to optimize the concurrent-ruby gem when running under MRI.
30
30
  Please see http://concurrent-ruby.com for more information.