Storage Benchmark is a macOS Raycast extension for measuring sequential write and read performance on local storage. It provides a short, conservative test, understandable task-oriented context, and private per-volume history without claiming to diagnose hardware health.
Opening the command shows the selected folder, data limit, time target, and safeguards before any test data is written. Press Enter on any configuration row to change that value, or choose Start Test to confirm the reviewed setup. Configure Test changes both limits together, while Configure and Run is available after a result. Per-run limits range from 256 MiB–25 GiB and 3 seconds–1 minute per measured phase.
The extension includes a small, open-source Swift package that Raycast compiles as part of the extension build. The native benchmark creates a private temporary file in the selected folder, applies macOS F_NOCACHE, writes deterministic high-entropy data with aligned buffers, reads it back, publishes versioned progress snapshots, and removes the file.
The normal test is bounded by both the configured file size and a maximum transfer target. The native benchmark checks elapsed time between aligned chunks and includes the final durability flush in the reported write duration; macOS may finish an in-flight filesystem call after the target rather than truncating or falsifying the measurement. Choosing Cancel Test creates a private cancellation marker checked between chunks. The Swift process also handles termination signals from Raycast, and both Swift and TypeScript perform exact-file cleanup. On the next run, the extension defensively removes only old regular files that match its exact private UUID filename pattern.
Task tiers are broad examples. They are not guarantees for a codec, application, or frame rate. Throughput results cannot establish the physical health of a disk.
Requirements:
Install and verify:
npm install
npm run test:helper
npm test
npm run typecheck
npm run lint
npm run build
ray build discovers native/DiskSpeedHelper/Package.swift, compiles the DiskSpeedHelper executable through Raycast's Swift build integration, and generates the TypeScript bridge used by the command. No precompiled executable is committed to the extension.
Native benchmarks are selected through the BenchmarkCase registry (sequential in v1), so future I/O cases can be added without changing process management or the Raycast command layer.
MIT