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)
2
47
3
48
- ` ParallelExtend ` is now implemented for tuple pairs, enabling nested
4
49
` unzip() ` and ` partition_map() ` operations. For instance, ` (A, (B, C)) `
@@ -22,7 +67,7 @@ Thanks to all of the contributors for this release!
22
67
- @mdonoughe
23
68
24
69
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)
26
71
27
72
- The ` ParallelBridge ` trait with method ` par_bridge() ` makes it possible to
28
73
use any ` Send ` able ` Iterator ` in parallel!
@@ -58,7 +103,7 @@ Thanks to all of the contributors for this release!
58
103
- @QuietMisdreavus
59
104
60
105
61
- # Release rayon 1.0.1
106
+ # Release rayon 1.0.1 (2018-03-16)
62
107
63
108
- Added more documentation for ` rayon::iter::split() ` .
64
109
- Corrected links and typos in documentation.
@@ -73,7 +118,7 @@ Thanks to all of the contributors for this release!
73
118
- @nikomatsakis
74
119
75
120
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)
77
122
78
123
- ` ParallelIterator ` added the ` update ` method which applies a function to
79
124
mutable references, inspired by ` itertools ` .
@@ -124,7 +169,7 @@ Thanks to all of the contributors for this release!
124
169
- bors[ bot]
125
170
126
171
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)
128
173
129
174
- ` Configuration ` now has a ` build ` method.
130
175
- ` ParallelIterator ` added ` flatten ` and ` intersperse ` , both inspired by
@@ -197,7 +242,7 @@ Thanks to all of the contributors for this release!
197
242
- bors[ bot]
198
243
199
244
200
- # Release rayon 0.8.2
245
+ # Release rayon 0.8.2 (2017-06-28)
201
246
202
247
- ` ParallelSliceMut ` now has six parallel sorting methods with the same
203
248
variations as the standard library.
@@ -208,15 +253,16 @@ Thanks to all of the contributors for this release!
208
253
perform unstable sorts with the same comparison options.
209
254
- Thanks to @stjepang !
210
255
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)
212
258
213
259
- The following core APIs are being stabilized:
214
260
- ` rayon::spawn() ` -- spawns a task into the Rayon threadpool; as it
215
261
is contained in the global scope (rather than a user-created
216
262
scope), the task cannot capture anything from the current stack
217
263
frame.
218
264
- ` 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.
220
266
- The various iterator adapters are now tagged with ` #[must_use] `
221
267
- Parallel iterators now offer a ` for_each_with ` adapter, similar to
222
268
` map_with ` .
@@ -232,7 +278,8 @@ Thanks to all of the contributors for this release!
232
278
then your clients must also modify their environment, signaling
233
279
their agreement to instability.
234
280
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)
236
283
237
284
## Rayon 0.8.0
238
285
@@ -295,13 +342,15 @@ Thanks to the following contributors:
295
342
- @nikomatsakis
296
343
- @stjepang
297
344
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)
299
347
300
348
This release is a targeted performance fix for #343 , an issue where
301
349
rayon threads could sometimes enter into a spin loop where they would
302
350
be unable to make progress until they are pre-empted.
303
351
304
- # Release rayon 0.7 / rayon-core 1.0
352
+
353
+ # Release rayon 0.7 / rayon-core 1.0 (2017-04-06)
305
354
306
355
This release marks the first step towards Rayon 1.0. ** For best
307
356
performance, it is important that all Rayon users update to at least
@@ -334,8 +383,8 @@ supported in some capacity.
334
383
better performance for some parallel iterators.
335
384
- Strings now support ` par_split() ` and ` par_split_whitespace() ` .
336
385
- 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
339
388
by using ` Configuration::thread_name ` .
340
389
- you can now inject code when Rayon threads start up and finish
341
390
- 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:
398
447
- @schuster
399
448
- @torkleyy
400
449
401
- # Release 0.6
450
+
451
+ # Release 0.6 (2016-12-21)
402
452
403
453
This release includes a lot of progress towards the goal of parity
404
454
with the sequential iterator API, though there are still a few methods
@@ -422,7 +472,7 @@ API. Thanks @cuviper! Keep it up.
422
472
We also support ` min_by_key() ` and ` max_by_key() ` . Thanks @tapeinosyne !
423
473
- ** Breaking change:** The ` mul() ` method is now renamed to ` product() ` ,
424
474
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 !
426
476
- We now offer a ` par_chars() ` method on strings for iterating over characters
427
477
in parallel. Thanks @cuviper !
428
478
- We now have new demos: a traveling salesman problem solver as well as matrix
@@ -440,7 +490,8 @@ API. Thanks @cuviper! Keep it up.
440
490
- Exposed helper methods for accessing the current thread index.
441
491
Thanks @bholley !
442
492
443
- # Release 0.5
493
+
494
+ # Release 0.5 (2016-11-04)
444
495
445
496
- ** Breaking change:** The ` reduce ` method has been vastly
446
497
simplified, and ` reduce_with_identity ` has been deprecated.
@@ -458,8 +509,9 @@ API. Thanks @cuviper! Keep it up.
458
509
- We now build with older versions of rustc again (thanks @durango !),
459
510
as we removed a stray semicolon from ` thread_local! ` .
460
511
- Various improvements to the (unstable) ` scope() ` API implementation.
461
-
462
- # Release 0.4.3
512
+
513
+
514
+ # Release 0.4.3 (2016-10-25)
463
515
464
516
- Parallel iterators now offer an adaptive weight scheme,
465
517
which means that explicit weights should no longer
@@ -472,18 +524,20 @@ API. Thanks @cuviper! Keep it up.
472
524
- You will need to supply the [ cargo feature] ` unstable ` .
473
525
- The various demos and benchmarks have been consolidated into one
474
526
program, ` rayon-demo ` .
475
- - Optimizations in Rayon's inner workings. Thanks @emilio !
527
+ - Optimizations in Rayon's inner workings. Thanks @emilio !
476
528
- Update ` num_cpus ` to 1.0. Thanks @jamwt !
477
529
- Various internal cleanup in the implementation and typo fixes.
478
530
Thanks @cuviper , @Eh2406 , and @spacejam !
479
531
480
532
[ cargo feature ] : http://doc.crates.io/manifest.html#the-features-section
481
533
482
- # Release 0.4.2
534
+
535
+ # Release 0.4.2 (2016-09-15)
483
536
484
537
- Updated crates.io metadata.
485
538
486
- # Release 0.4.1
539
+
540
+ # Release 0.4.1 (2016-09-14)
487
541
488
542
- New ` chain ` combinator for parallel iterators.
489
543
- ` Option ` , ` Result ` , as well as many more collection types now have
@@ -493,7 +547,8 @@ API. Thanks @cuviper! Keep it up.
493
547
494
548
Thanks to @cuviper , @edre , @jdanford , @frewsxcv for their contributions!
495
549
496
- # Release 0.4
550
+
551
+ # Release 0.4 (2016-05-16)
497
552
498
553
- Make use of latest versions of catch-panic and various fixes to panic propagation.
499
554
- Add new prime sieve demo.
@@ -502,7 +557,8 @@ Thanks to @cuviper, @edre, @jdanford, @frewsxcv for their contributions!
502
557
503
558
Thanks to @areilb1 , @Amanieu , @SharplEr , and @cuviper for their contributions!
504
559
505
- # Release 0.3
560
+
561
+ # Release 0.3 (2016-02-23)
506
562
507
563
- Expanded ` par_iter ` APIs now available:
508
564
- ` 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!
517
573
518
574
Thanks to @bjz , @cuviper , @Amanieu , and @willi-kappler for their contributions!
519
575
576
+
520
577
# Release 0.2 and earlier
521
578
522
579
No release notes were being kept at this time.
0 commit comments