Skip to content

Commit b8b97a1

Browse files
bors[bot]cuvipernikomatsakis
committed
Merge #661
661: Release rayon 1.1.0 / rayon-core 1.5.0 r=nikomatsakis a=cuviper Co-authored-by: Josh Stone <[email protected]> Co-authored-by: Niko Matsakis <[email protected]>
2 parents 49fb38a + 3462f0b commit b8b97a1

File tree

2 files changed

+81
-24
lines changed

2 files changed

+81
-24
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ as:
7171

7272
```toml
7373
[dependencies]
74-
rayon = "1.0"
74+
rayon = "1.1"
7575
```
7676

7777
and then add the following to your `lib.rs`:

RELEASES.md

+80-23
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,49 @@
1-
# Release rayon 1.0.3
1+
# Release rayon 1.1.0 / rayon-core 1.5.0 (2019-06-12)
2+
3+
- FIFO spawns are now supported using the new `spawn_fifo()` and `scope_fifo()`
4+
global functions, and their corresponding `ThreadPool` methods.
5+
- Normally when tasks are queued on a thread, the most recent is processed
6+
first (LIFO) while other threads will steal the oldest (FIFO). With FIFO
7+
spawns, those tasks are processed locally in FIFO order too.
8+
- Regular spawns and other tasks like `join` are not affected.
9+
- The `breadth_first` configuration flag, which globally approximated this
10+
effect, is now deprecated.
11+
- For more design details, please see [RFC 1].
12+
- `ThreadPoolBuilder` can now take a custom `spawn_handler` to control how
13+
threads will be created in the pool.
14+
- `ThreadPoolBuilder::build_scoped()` uses this to create a scoped thread
15+
pool, where the threads are able to use non-static data.
16+
- This may also be used to support threading in exotic environments, like
17+
WebAssembly, which don't support the normal `std::thread`.
18+
- `ParallelIterator` has 3 new methods: `find_map_any()`, `find_map_first()`,
19+
and `find_map_last()`, like `Iterator::find_map()` with ordering constraints.
20+
- The new `ParallelIterator::panic_fuse()` makes a parallel iterator halt as soon
21+
as possible if any of its threads panic. Otherwise, the panic state is not
22+
usually noticed until the iterator joins its parallel tasks back together.
23+
- `IntoParallelIterator` is now implemented for integral `RangeInclusive`.
24+
- Several internal `Folder`s now have optimized `consume_iter` implementations.
25+
- `rayon_core::current_thread_index()` is now re-exported in `rayon`.
26+
- The minimum `rustc` is now 1.26, following the update policy defined in [RFC 3].
27+
28+
## Contributors
29+
30+
Thanks to all of the contributors for this release!
31+
32+
- @cuviper
33+
- @didroe
34+
- @GuillaumeGomez
35+
- @huonw
36+
- @janriemer
37+
- @kornelski
38+
- @nikomatsakis
39+
- @seanchen1991
40+
- @yegeun542
41+
42+
[RFC 1]: https://github.com/rayon-rs/rfcs/blob/master/accepted/rfc0001-scope-scheduling.md
43+
[RFC 3]: https://github.com/rayon-rs/rfcs/blob/master/accepted/rfc0003-minimum-rustc.md
44+
45+
46+
# Release rayon 1.0.3 (2018-11-02)
247

348
- `ParallelExtend` is now implemented for tuple pairs, enabling nested
449
`unzip()` and `partition_map()` operations. For instance, `(A, (B, C))`
@@ -22,7 +67,7 @@ Thanks to all of the contributors for this release!
2267
- @mdonoughe
2368

2469

25-
# Release rayon 1.0.2 / rayon-core 1.4.1
70+
# Release rayon 1.0.2 / rayon-core 1.4.1 (2018-07-17)
2671

2772
- The `ParallelBridge` trait with method `par_bridge()` makes it possible to
2873
use any `Send`able `Iterator` in parallel!
@@ -58,7 +103,7 @@ Thanks to all of the contributors for this release!
58103
- @QuietMisdreavus
59104

60105

61-
# Release rayon 1.0.1
106+
# Release rayon 1.0.1 (2018-03-16)
62107

63108
- Added more documentation for `rayon::iter::split()`.
64109
- Corrected links and typos in documentation.
@@ -73,7 +118,7 @@ Thanks to all of the contributors for this release!
73118
- @nikomatsakis
74119

75120

76-
# Release rayon 1.0.0 / rayon-core 1.4.0
121+
# Release rayon 1.0.0 / rayon-core 1.4.0 (2018-02-15)
77122

78123
- `ParallelIterator` added the `update` method which applies a function to
79124
mutable references, inspired by `itertools`.
@@ -124,7 +169,7 @@ Thanks to all of the contributors for this release!
124169
- bors[bot]
125170

126171

127-
# Release rayon 0.9.0 / rayon-core 1.3.0 / rayon-futures 0.1.0
172+
# Release rayon 0.9.0 / rayon-core 1.3.0 / rayon-futures 0.1.0 (2017-11-09)
128173

129174
- `Configuration` now has a `build` method.
130175
- `ParallelIterator` added `flatten` and `intersperse`, both inspired by
@@ -197,7 +242,7 @@ Thanks to all of the contributors for this release!
197242
- bors[bot]
198243

199244

200-
# Release rayon 0.8.2
245+
# Release rayon 0.8.2 (2017-06-28)
201246

202247
- `ParallelSliceMut` now has six parallel sorting methods with the same
203248
variations as the standard library.
@@ -208,15 +253,16 @@ Thanks to all of the contributors for this release!
208253
perform unstable sorts with the same comparison options.
209254
- Thanks to @stjepang!
210255

211-
# Release rayon 0.8.1 / rayon-core 1.2.0
256+
257+
# Release rayon 0.8.1 / rayon-core 1.2.0 (2017-06-14)
212258

213259
- The following core APIs are being stabilized:
214260
- `rayon::spawn()` -- spawns a task into the Rayon threadpool; as it
215261
is contained in the global scope (rather than a user-created
216262
scope), the task cannot capture anything from the current stack
217263
frame.
218264
- `ThreadPool::join()`, `ThreadPool::spawn()`, `ThreadPool::scope()`
219-
-- convenience APIs for launching new work within a thread-pool.
265+
-- convenience APIs for launching new work within a thread-pool.
220266
- The various iterator adapters are now tagged with `#[must_use]`
221267
- Parallel iterators now offer a `for_each_with` adapter, similar to
222268
`map_with`.
@@ -232,7 +278,8 @@ Thanks to all of the contributors for this release!
232278
then your clients must also modify their environment, signaling
233279
their agreement to instability.
234280

235-
# Release rayon 0.8.0 / rayon-core 1.1.0
281+
282+
# Release rayon 0.8.0 / rayon-core 1.1.0 (2017-06-13)
236283

237284
## Rayon 0.8.0
238285

@@ -295,13 +342,15 @@ Thanks to the following contributors:
295342
- @nikomatsakis
296343
- @stjepang
297344

298-
# Release rayon 0.7.1 / rayon-core 1.0.2
345+
346+
# Release rayon 0.7.1 / rayon-core 1.0.2 (2017-05-30)
299347

300348
This release is a targeted performance fix for #343, an issue where
301349
rayon threads could sometimes enter into a spin loop where they would
302350
be unable to make progress until they are pre-empted.
303351

304-
# Release rayon 0.7 / rayon-core 1.0
352+
353+
# Release rayon 0.7 / rayon-core 1.0 (2017-04-06)
305354

306355
This release marks the first step towards Rayon 1.0. **For best
307356
performance, it is important that all Rayon users update to at least
@@ -334,8 +383,8 @@ supported in some capacity.
334383
better performance for some parallel iterators.
335384
- Strings now support `par_split()` and `par_split_whitespace()`.
336385
- The `Configuration` API is expanded and simplified:
337-
- `num_threads(0)` no longer triggers an error
338-
- you can now supply a closure to name the Rayon threads that get created
386+
- `num_threads(0)` no longer triggers an error
387+
- you can now supply a closure to name the Rayon threads that get created
339388
by using `Configuration::thread_name`.
340389
- you can now inject code when Rayon threads start up and finish
341390
- you can now set a custom panic handler to handle panics in various odd situations
@@ -398,7 +447,8 @@ Thanks to the following people for their contributions to this release:
398447
- @schuster
399448
- @torkleyy
400449

401-
# Release 0.6
450+
451+
# Release 0.6 (2016-12-21)
402452

403453
This release includes a lot of progress towards the goal of parity
404454
with the sequential iterator API, though there are still a few methods
@@ -422,7 +472,7 @@ API. Thanks @cuviper! Keep it up.
422472
We also support `min_by_key()` and `max_by_key()`. Thanks @tapeinosyne!
423473
- **Breaking change:** The `mul()` method is now renamed to `product()`,
424474
to match sequential iterators. Thanks @jonathandturner!
425-
- We now support parallel iterator over ranges on `u64` values. Thanks @cuviper!
475+
- We now support parallel iterator over ranges on `u64` values. Thanks @cuviper!
426476
- We now offer a `par_chars()` method on strings for iterating over characters
427477
in parallel. Thanks @cuviper!
428478
- We now have new demos: a traveling salesman problem solver as well as matrix
@@ -440,7 +490,8 @@ API. Thanks @cuviper! Keep it up.
440490
- Exposed helper methods for accessing the current thread index.
441491
Thanks @bholley!
442492

443-
# Release 0.5
493+
494+
# Release 0.5 (2016-11-04)
444495

445496
- **Breaking change:** The `reduce` method has been vastly
446497
simplified, and `reduce_with_identity` has been deprecated.
@@ -458,8 +509,9 @@ API. Thanks @cuviper! Keep it up.
458509
- We now build with older versions of rustc again (thanks @durango!),
459510
as we removed a stray semicolon from `thread_local!`.
460511
- Various improvements to the (unstable) `scope()` API implementation.
461-
462-
# Release 0.4.3
512+
513+
514+
# Release 0.4.3 (2016-10-25)
463515

464516
- Parallel iterators now offer an adaptive weight scheme,
465517
which means that explicit weights should no longer
@@ -472,18 +524,20 @@ API. Thanks @cuviper! Keep it up.
472524
- You will need to supply the [cargo feature] `unstable`.
473525
- The various demos and benchmarks have been consolidated into one
474526
program, `rayon-demo`.
475-
- Optimizations in Rayon's inner workings. Thanks @emilio!
527+
- Optimizations in Rayon's inner workings. Thanks @emilio!
476528
- Update `num_cpus` to 1.0. Thanks @jamwt!
477529
- Various internal cleanup in the implementation and typo fixes.
478530
Thanks @cuviper, @Eh2406, and @spacejam!
479531

480532
[cargo feature]: http://doc.crates.io/manifest.html#the-features-section
481533

482-
# Release 0.4.2
534+
535+
# Release 0.4.2 (2016-09-15)
483536

484537
- Updated crates.io metadata.
485538

486-
# Release 0.4.1
539+
540+
# Release 0.4.1 (2016-09-14)
487541

488542
- New `chain` combinator for parallel iterators.
489543
- `Option`, `Result`, as well as many more collection types now have
@@ -493,7 +547,8 @@ API. Thanks @cuviper! Keep it up.
493547

494548
Thanks to @cuviper, @edre, @jdanford, @frewsxcv for their contributions!
495549

496-
# Release 0.4
550+
551+
# Release 0.4 (2016-05-16)
497552

498553
- Make use of latest versions of catch-panic and various fixes to panic propagation.
499554
- Add new prime sieve demo.
@@ -502,7 +557,8 @@ Thanks to @cuviper, @edre, @jdanford, @frewsxcv for their contributions!
502557

503558
Thanks to @areilb1, @Amanieu, @SharplEr, and @cuviper for their contributions!
504559

505-
# Release 0.3
560+
561+
# Release 0.3 (2016-02-23)
506562

507563
- Expanded `par_iter` APIs now available:
508564
- `into_par_iter` is now supported on vectors (taking ownership of the elements)
@@ -517,6 +573,7 @@ Thanks to @areilb1, @Amanieu, @SharplEr, and @cuviper for their contributions!
517573

518574
Thanks to @bjz, @cuviper, @Amanieu, and @willi-kappler for their contributions!
519575

576+
520577
# Release 0.2 and earlier
521578

522579
No release notes were being kept at this time.

0 commit comments

Comments
 (0)