rayon-rs/rayon

Description: Rayon: A data parallelism library for Rust

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 3 hours ago
Added to GitGenius on June 22nd, 2026
Created on October 2nd, 2014
Open Issues & Pull Requests: 222 (+0)
Number of forks: 597
Total Stargazers: 13,162 (+0)
Total Subscribers: 104 (+0)

Issue Activity (beta)

Open issues: 51
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,095 days
Stale 30+ days: 45
Stale 90+ days: 40

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 5
Events in 7 days: 7

Top labels

  • enhancement (4)
  • help wanted (3)
  • parity-std (2)
  • duplicate (1)

Repository Insights (GitGenius)

Median issue/PR response: 5.5 hours
Mean response time: 7.7 days
90th percentile: 4.2 days
Tracked items: 82

Most active contributors

Detailed Description

Rayon is a data-parallelism library for Rust that enables developers to convert sequential computations into parallel ones with minimal code changes while guaranteeing data-race freedom. The library is designed to be extremely lightweight and integrates seamlessly into existing Rust projects through the crates.io package manager. According to GitGenius activity tracking, the repository maintains a median issue and pull request response latency of 5.5 hours across 78 tracked items, indicating active and responsive maintenance.

The core functionality of Rayon centers on parallel iterators, which represent the primary mechanism for parallelization. Users can typically convert sequential iterator calls like foo.iter() into parallel versions using foo.par_iter(), after which Rayon automatically handles task division and dynamic adaptation for optimal performance. Beyond parallel iterators, the library provides additional flexibility through join and scope functions that allow developers to create parallel tasks with more granular control. For advanced use cases requiring even greater customization, Rayon supports the creation of custom thread pools as alternatives to its default global thread pool.

A defining characteristic of Rayon is its guarantee of data-race freedom through its API design. This guarantee means that if code compiles successfully, it typically produces identical results to its sequential counterpart, eliminating a major class of parallel programming bugs. The library does acknowledge one caveat: when iterators contain side effects such as channel communication or disk operations, those effects may execute in different orders than in sequential execution. Additionally, Rayon provides alternative versions of certain sequential iterator methods optimized for parallel execution that may offer performance improvements.

The repository shows strong community engagement patterns. GitGenius tracking identifies cuviper as the most active contributor with 178 recorded events, followed by BloodStainedCrow with 25 events and adamreichold with 13 events. The most frequently applied issue labels are enhancement with 4 instances, help wanted with 3 instances, and parity-std with 2 instances, suggesting the project actively solicits community contributions and maintains alignment with Rust standard library functionality. The repository maintains connections to major Rust ecosystem projects including rust-lang/rust, swc-project/swc, and rust-lang/cargo through overlapping contributor networks.

Rayon requires rustc 1.85.0 or greater and includes special handling for WebAssembly environments. By default, Rayon falls back to sequential iteration when targeting WebAssembly, allowing existing code to compile without modification while sacrificing parallelism. For developers requiring multithreaded WebAssembly support, the library integrates with wasm-bindgen-rayon to enable proper parallel execution on the Web platform.

The project maintains comprehensive documentation including API references on docs.rs, a detailed development guide on its wiki, and a rayon-demo directory containing practical examples such as an N-body simulation visualization. All code contributions are assumed to be licensed under Rayon's dual MIT and Apache 2.0 licensing scheme. The library's design philosophy emphasizes ease of use while maintaining the safety guarantees that Rust developers expect, making parallel programming accessible without requiring deep expertise in concurrent systems.

rayon
by
rayon-rsrayon-rs/rayon

Repository Details

Fetching additional details & charts...