Releases: jbelke/rgigasync
v1.0.0 - Initial Parallel Sync Release
v1.0.0 - Initial Parallel Sync Release
This is the first stable release of rgigasync, a high-performance Rust-based tool designed to optimize the process of syncing large directories with rsync. This release introduces several key features aimed at improving efficiency, particularly when handling large-scale file operations.
Key Features:
Parallel Processing:
Leverage multi-core CPUs to parallelize file processing, significantly reducing the time required to sync large directories. This feature allows users to specify the number of threads, enabling the tool to fully utilize the available CPU resources.
Batch Processing:
Files are processed in batches to optimize memory usage and prevent rsync from overwhelming system resources. This feature is especially beneficial when dealing with millions of files.
Customizable Sync Parameters:
Users can now specify custom rsync options directly through the command line, providing flexibility in how files are synchronized. This includes the ability to ignore existing files, show progress, and more.
Real-time Feedback:
The tool provides periodic progress updates to the console, ensuring that users are kept informed about the sync operation’s progress. This includes both file counts and time-based feedback.
Environmental Configuration:
Introduced support for .env files to configure settings such as the number of threads (RAYON_NUM_THREADS) and feedback intervals (FILE_FEEDBACK_COUNT and TIME_FEEDBACK_INTERVAL).
Improvements:
Optimized I/O Handling:
Improved disk I/O efficiency by processing files in parallel while minimizing the impact on system resources.
Error Handling:
Enhanced error handling during the rsync process with automatic retries for transient errors, ensuring reliable sync operations.
Getting Started:
To start using rgigasync, follow the installation instructions and consult the usage examples in the README.
This release marks the beginning of rgigasync as a robust tool for those needing efficient, large-scale directory synchronization. We welcome feedback and contributions from the community to help us improve further.