#parallel #performance #join #thread

macro rayon-macro-hack

Implementation details of rayon-macro

1 unstable release

0.1.0 Jan 24, 2020

#88 in #join

Apache-2.0 OR MIT

7KB
111 lines

rayon-macro

rayon-macro crate rayon-macro documentation minimum rustc 1.45 build status

The rayon-macro crate provides procedural macros to make it easier to transform serial code into rayon-enabled parallel code. For example, the parallel! macro can be used like this:

use rayon_macro::parallel;

parallel!(for i in 0..10 {
    println!("iteration {}", i);
});

It will be expanded to something like this:

(0..10).into_par_iter().for_each(|i| {
    println!("iteration {}", i);
});

Control-flow expressions in the body will also be transformed as needed.

This crate currently requires rustc 1.45.0 or greater.

License

This project is licensed under either of

at your option.

Dependencies

~1.5MB
~33K SLoC