Run commands in parallel and aggregate outputs. Async application using tokio.
Example commands and detailed manual.
Listed in Awesome Rust - utilities
Similar interface to GNU Parallel or xargs plus useful features:
* More than 10x faster than GNU Parallel in benchmarks
* Run commands from stdin, input files, or ::: arguments
* Pipe mode to read blocks from stdin and pass to commands.
* Automatic parallelism to all cpus, or configure manually
* Transform inputs with variables or regular expressions
* Prevent output interleaving and maintain input order with -k/--keep-order
* Shell mode to run bash functions and commands
* TUI progress bar using indicatif
* Path cache
* Command timeouts
* Structured debug logging
* Dry run mode
* Configurable error handling
With Homebrew installed, run
brew install rust-parallel
Install the latest version of this app from crates.io:
$ cargo install rust-parallel
The same cargo install rust-parallel command will also update to the latest version after initial installation.
--block-size parameter.multi_cartesian_product to process ::: command line inputs.-r/--regex option.async / await functions (aka coroutines)CommandLineArgs instance using tokio::sync::OnceCell.tokio::process::Commandtokio::sync::Semaphore used to limit number of commands that run concurrently.tokio::sync::mpsc::channel used to receive inputs from input task, and to send command outputs to an output writer task. To await command completions, use the elegant property that when all Senders are dropped the channel is closed.tracing::Instrument is used to provide structured debug logs.$ claude mcp add rust-parallel \
-- python -m otcore.mcp_server <graph>