rayon-rs/rayon

A `#[parallelized]` attribute

开放

#553 创建于 2018年3月12日

 (10 条评论) (38 个反应) (0 位负责人)Rust (450 个派生)batch import
enhancementhelp wanted

仓库指标

星标
 (9,410 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

Once custom attributes are stable, I think it would be great to have an attribute that transforms a for loop into a parallel iterator for_each call:

#[parallelized]
for x in 0..100 {
    println!("{}", x);
}

Equivalent to:

(0..100).into_par_iter().for_each(|x| println!("{}", x));

This would be analogous to futures-await's #[async] attribute, which generates a for loop that processes a Stream.

The one nit would be that early returns would be a mistake, hopefully a compiler error, and you would probably want to do what you can to catch them while expanding the attribute.

贡献者指南