awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rayon-rs avatar

rayon-rs/rayon

0
View on GitHub↗
13,071 stars·590 forks·Rust·Apache-2.0·17 vues

Rayon

Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into parallel operations. It enables the transformation of standard data structures and loops into parallel iterators, allowing workloads to be distributed across multiple processor cores. By utilizing a work-stealing scheduler, the library dynamically balances tasks to maximize throughput and minimize execution time.

The library distinguishes itself through its focus on safe, scoped task synchronization, which ensures that all spawned operations complete before a scope exits to prevent memory corruption. It supports both global thread pool management and the creation of isolated, custom thread pools, providing granular control over resource allocation. This architecture allows developers to orchestrate complex, recursive task decomposition while maintaining predictable execution flow.

Beyond its core data processing capabilities, the library offers tools for monitoring thread pool status and managing background task queues. It provides a comprehensive set of primitives for concurrent task orchestration, enabling the execution of custom closures and broadcast operations across worker threads. The project is distributed as a library, with documentation and installation instructions available through standard Rust package management channels.

Features

  • Parallel Data Iterators - Converts sequential data structures into parallel iterators to execute operations across multiple threads.
  • Parallel Iterators - Transforms sequential data structures into parallel iterators to partition work across multiple processor cores.
  • Parallel Processing - Provides parallel iterators and work-stealing algorithms to distribute data processing workloads across multiple CPU cores.
  • Data Parallelism Frameworks - Provides a framework for transforming sequential data structures into parallel iterators for concurrent processing.
  • Thread Pools - Provides a global thread pool for managing concurrent tasks and minimizing thread creation overhead.
  • Parallel Loop Transformers - Transforms standard sequential loops into parallel versions to process collection elements concurrently.
  • Scoped Synchronization - Ensures memory safety by guaranteeing all spawned parallel operations complete before the parent scope exits.
  • Work-Stealing Schedulers - Implements work-stealing scheduling to dynamically balance computational load across available processor cores.
  • Scoped Task Synchronization - Ensures memory safety by guaranteeing that all spawned parallel tasks complete before the parent scope finishes execution.
  • Parallel Processing Utilities - Offers a comprehensive library for converting sequential Rust iterators into parallel versions for multi-core execution.
  • Execution Scopes - Establishes controlled execution environments where all spawned operations must finish before the scope exits.
  • Task Queues - Uses lock-free atomic structures to exchange work items between threads for high-throughput task distribution.
  • Task Schedulers - Implements a work-stealing scheduler that dynamically balances tasks across a thread pool to maximize throughput.
  • Concurrent Task Runners - Provides primitives for orchestrating concurrent tasks within a managed scope to improve application performance.
  • Parallel Task Spawning - Spawns multiple operations within a shared scope to perform concurrent calculations and merge results.
  • Recursive Decomposers - Orchestrates complex, recursive task decomposition to process sub-tasks in parallel until reaching a sequential base case.
  • Developer Utilities - Data-parallelism library for easy multithreading.
  • Custom Thread Pool Configurations - Supports the creation of isolated, custom thread pools to prevent resource contention during heavy workloads.
  • Parallel Execution - Executes multiple operations concurrently within a shared scope to improve overall processing speed.
  • Custom Parallel Task Execution - Divides complex workloads into smaller independent units of work that run concurrently within a managed scope.
  • Broadcast Operations - Enables the distribution of operations to every thread within a pool for uniform updates or data collection.
  • Asynchronous Task Queues - Submits independent operations to a global thread pool for asynchronous background execution.

Historique des stars

Graphique de l'historique des stars pour rayon-rs/rayonGraphique de l'historique des stars pour rayon-rs/rayon

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait rayon-rs/rayon ?

Rayon is a data parallelism library for Rust that provides a framework for converting sequential computations into parallel operations. It enables the transformation of standard data structures and loops into parallel iterators, allowing workloads to be distributed across multiple processor cores. By utilizing a work-stealing scheduler, the library dynamically balances tasks to maximize throughput and minimize execution time.

Quelles sont les fonctionnalités principales de rayon-rs/rayon ?

Les fonctionnalités principales de rayon-rs/rayon sont : Parallel Data Iterators, Parallel Iterators, Parallel Processing, Data Parallelism Frameworks, Thread Pools, Parallel Loop Transformers, Scoped Synchronization, Work-Stealing Schedulers.

Quelles sont les alternatives open-source à rayon-rs/rayon ?

Les alternatives open-source à rayon-rs/rayon incluent : sourcegraph/conc — conc is a Go concurrency library and structured concurrency framework providing primitives for managing parallel… dask/dask — Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows… rust-lang/book — The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It… joblib/joblib — Joblib is a suite of utilities for parallelizing computational workloads and optimizing the storage of large numerical… duemunk/async — Async is a Swift library that provides a wrapper for Grand Central Dispatch to simplify the management of asynchronous… progschj/threadpool — ThreadPool is a C++ thread management library designed to execute asynchronous tasks using a fixed number of…

Alternatives open source à Rayon

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Rayon.
  • sourcegraph/concAvatar de sourcegraph

    sourcegraph/conc

    10,307Voir sur GitHub↗

    conc is a Go concurrency library and structured concurrency framework providing primitives for managing parallel tasks, mapping slices, and collecting results. It implements a system for spawning scoped tasks to ensure all child processes complete before their parent exits. The library includes a goroutine pool manager to limit active concurrent processes and a panic-safe task runner that catches panics in goroutines and propagates stack traces to the parent. It also provides a concurrent map-reduce tool for transforming data slices and processing streams in parallel while maintaining the ori

    Goconcurrencygogolang
    Voir sur GitHub↗10,307
  • dask/daskAvatar de dask

    dask/dask

    13,746Voir sur GitHub↗

    Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows from single machines to large clusters. It functions as a cluster resource manager that orchestrates computational logic by representing tasks and their dependencies as directed acyclic graphs. This architecture allows the system to automate the distribution of workloads across available hardware while managing complex execution requirements. The project distinguishes itself through a lazy evaluation engine that defers data operations until they are explicitly requested, enabl

    Pythondasknumpypandas
    Voir sur GitHub↗13,746
  • rust-lang/bookAvatar de rust-lang

    rust-lang/book

    17,930Voir sur GitHub↗

    The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It provides a comprehensive walkthrough of the language's design, focusing on its core identity as a systems programming language that enforces memory safety and high-performance execution without the need for a garbage collector. The project is distinguished by its focus on ownership, borrowing, and lifetime tracking, which allow the compiler to verify memory safety and thread safety at compile time. It covers the language's unique approach to zero-cost abstractions, including t

    Rustbookmdbookrust
    Voir sur GitHub↗17,930
  • joblib/joblibAvatar de joblib

    joblib/joblib

    4,366Voir sur GitHub↗

    Joblib is a suite of utilities for parallelizing computational workloads and optimizing the storage of large numerical datasets and function results. It functions as a parallel computing library and multiprocessing wrapper that distributes function execution across multiple CPU cores to accelerate independent tasks and computational loops. The project provides a disk caching framework that persists expensive function outputs to the filesystem, re-evaluating them only when input arguments change. It further specializes in the serialization of large numerical arrays, utilizing efficient compres

    Python
    Voir sur GitHub↗4,366
  • Voir les 30 alternatives à Rayon→