A Rust tool to perform write and read tests similar to the Linux dd command.
This is a super simple tool and its main purpose is to teach me Rust :-)
- Write and read performance testing - Measure disk I/O performance
- Flexible size parsing - Supports K, M, G suffixes (e.g.,
1M,500K,2G) - Optional disk sync -
--syncflag for more accurate write speed measurements - Flexible testing modes - Run write-only or read-only tests
- Automatic cleanup - Remove test files after completion
# Basic usage (writes 100M with 1M buffer, then reads it back)
cargo run --release -- testfile 1M 100M
# With disk sync and cleanup
cargo run --release -- testfile 1M 100M --sync --cleanup
# Write-only test
cargo run --release -- testfile 1M 100M --write-only
# Read-only test (file must exist)
cargo run --release -- testfile 1M --read-onlyfile_path- Path to the test file (required)buffer_size- Buffer size for I/O operations (default: 1M)total_size- Total size to write/read (default: 100M)--sync- Sync data to disk after write (more accurate measurement)--write-only- Only perform write test--read-only- Only perform read test--cleanup- Remove test file after completion
Sizes can be specified with optional suffixes:
Kork- Kilobytes (1024 bytes)Morm- Megabytes (1024² bytes)Gorg- Gigabytes (1024³ bytes)
Examples: 512K, 1M, 2G, 100 (bytes)
cargo build --releaseThe binary will be at target/release/oxidised-dd.
Write: 104857600 bytes in 0.15s (666.67 MB/s)
Read: 104857600 bytes in 0.12s (833.33 MB/s)
This project is open source and available under the MIT License.