DiskOps
Writes 256 MB, fsyncs it, reads it back. Two numbers in MB/s.
Free right now — no account, no card
Preview
1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.
Free while we’re in preview
Get DiskOps
Writes 256 MB, fsyncs it, reads it back. Two numbers in MB/s.
The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.
One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.
Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.
- One file — no installer
- Runs on your machine, offline
- Source code published below
Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, DiskOps is included in every plan along with the rest of the range.
What the numbers mean
diskops bench /mnt/data creates a temp file, writes --size bytes in --block chunks, and times that from the first byte through a final f.Sync(). The fsync is inside the timer deliberately. Without it you’d be measuring how fast data reaches the OS page cache, which is not the thing anyone wants to know. Then it closes the file, reopens it, and reads it back sequentially. The temp file is always removed, including on error paths.
One random block is generated up front with crypto/rand and reused for every chunk. Random data stops filesystem compression or dedup from flattering the result, but generating fresh random bytes per chunk is slow enough to dominate the write loop and cap the reported throughput, so that cost is paid once, outside the timer.
Be clear about the scope
This is sequential, single-threaded, file-API throughput against a filesystem. It is not a raw block-device benchmark, and it says nothing about random I/O or queue depth. Small --size values report fantasy read speeds because the file is served from cache. Use a few hundred MB.
Partitioning, cloning, migration and SMART all want raw device access. Not here. CorePilot is the CPU-side sibling.
Reading on the job itself
- How to tell whether a drive is failing Back it up first, then measure. A drive that reads at full speed for most blocks and stalls for hundreds of...
Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams
A working CLI prototype of the throughput half of the job: a real sequential write/read benchmark (fsync'd, so it measures durable storage, not page cache) against any target directory. Partitioning, cloning, migration, and SMART need raw-device access and are on the roadmap.
Naming status
Working name only — brand verdict **CAUTION** (Medium). Collision: DiskOps. Use only as descriptive product line, not strongest master brand.
What it draws on
Existing paid software whose best ideas shaped this program: EaseUS Partition Master Professional, AOMEI Partition Assistant Professional, DiskGenius Professional, Hard Disk Sentinel Professional.
Command line
There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.
DiskOps - sequential disk I/O throughput benchmark (prototype)
Usage:
diskops bench <dir> [--size 256MB] [--block 1MB] [--json]
diskops help
Commands:
bench Write and read a temp file in <dir>, sequentially, single-threaded,
and report throughput in MB/s.
Flags for bench:
--size Total bytes to write/read, e.g. 256MB, 1GiB, 512KB (default 256MB)
--block Chunk size for each write/read call, e.g. 1MB, 256KB (default 1MB)
--json Emit a JSON report instead of human-readable text
Notes:
- This measures sequential, single-threaded throughput through the OS file
API against the target filesystem/directory. It is NOT a raw block-device
benchmark (no partitioning, cloning, migration or SMART data here - those
need OS-privileged/raw-device access and are on the DiskOps roadmap, see
../plan.md).
- OS and filesystem caching mean small --size values can report unrealistic
numbers. Use at least a few hundred MB for a meaningful result; smaller
sizes are still fine for a quick sanity check.
Examples:
diskops bench . --size 512MB
diskops bench /mnt/data --size 1GiB --block 4MB --json
Recorded from the shipped binary, not written by hand.
Source
Every file the program is built from:
console.go · console_test.go · guided.go · main.go
SHA-256 checksums · build instructions & scope notes · full build plan