MIT License

项目介绍

hkatsura/AmorphousDiskMark 是一个托管在 GitHub 上的开源项目,主要使用 Objective-C 编写,采用 MIT License 许可证,目前获得 62 个 Star、5 次 Fork。

仓库全名
hkatsura/AmorphousDiskMark
开源许可证
MIT License
Star 数
62
Fork 数
5
未关闭 Issue
3

README 摘要

AmorphousDiskMark A macOS storage benchmark tool that measures read/write performance in MB/s and IOPS. Inspired by CrystalDiskMark for Windows. Features Sequential benchmarks: 1 MiB block reads/writes, single-queue (QD=1) and multi-queue (QD up to 1024) Random benchmarks: 4 KiB block reads/writes, single-queue and multi-queue (QD up to 1024) Flexible test parameters: configurable iteration count, test data…

完整内容见 GitHub 原始 README 或本页 。

常见问题

AmorphousDiskMark 用什么语言开发?

主要使用 Objective-C 编写,采用 MIT License 许可证,目前有 62 个 Star。

AmorphousDiskMark 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 AmorphousDiskMark 的源码?

可以直接克隆仓库:git clone https://github.com/hkatsura/AmorphousDiskMark.git,默认分支为 main;安装与运行步骤见仓库 README。

AmorphousDiskMark 最近还在维护吗?

仓库最近一次更新为 5月6日,当前有 3 个未关闭 Issue;Star 数为 62,可作为社区活跃度的参考。

关于

A macOS storage benchmark tool that measures read/write performance in MB/s and IOPS.

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
73
价值分
38
活跃状态
活跃

语言占比

C
Objective-C

README

AmorphousDiskMark

A macOS storage benchmark tool that measures read/write performance in MB/s and IOPS. Inspired by CrystalDiskMark for Windows.

Download on the Mac App Store

Features

  • Sequential benchmarks: 1 MiB block reads/writes, single-queue (QD=1) and multi-queue (QD up to 1024)
  • Random benchmarks: 4 KiB block reads/writes, single-queue and multi-queue (QD up to 1024)
  • Flexible test parameters: configurable iteration count, test data (random/zero), measurement size (16 MiB–64 GiB), interval (0 s–10 min), and duration limit
  • Dual units: view results in MB/s or IOPS; tooltips show both
  • Copy-pasteable results: export measurements as formatted plain text

Example Output

Sequential Read 1MiB (QD=    8) :   832.04 MB/s [    793.5 IOPS]
Sequential Write 1MiB (QD=   8) :   773.81 MB/s [    738.0 IOPS]
    Sequential Read 1MiB (QD=1) :   667.96 MB/s [    637.0 IOPS]
   Sequential Write 1MiB (QD=1) :   576.30 MB/s [    549.6 IOPS]
     Random Read 4KiB (QD=  64) :   524.28 MB/s [ 127998.7 IOPS]
    Random Write 4KiB (QD=  64) :   192.25 MB/s [  46935.0 IOPS]
        Random Read 4KiB (QD=1) :    31.70 MB/s [   7738.3 IOPS]
       Random Write 4KiB (QD=1) :   200.17 MB/s [  48868.8 IOPS]

Requirements

  • macOS 10.9.5 or later
  • Xcode (to build from source)

Building

Open AmorphousDiskMark/AmorphousDiskMark.xcodeproj in Xcode and build the scheme. The app is sandboxed and requests user-selected file read/write access for target volume selection.

Architecture

The codebase is Objective-C, structured around a few key components:

File Role
AppDelegate Main UI controller — handles toolbar actions, volume selection, test orchestration
DiskMark Core benchmark engine — manages threaded I/O with configurable block size, queue depth, and duration
DiskUtil Volume enumeration via DiskArbitration framework, mount/unmount observation, filesystem metadata
DMTextView Custom text view with logarithmic bar graph rendering (matching CrystalDiskMark’s visual style)
DMButton / DMButtonCell Custom button with dark mode support
DMMediaIcon Resolves storage device icons from IOKit kernel extension bundles
LinkTextField Clickable URL text field

How benchmarking works

AmorphousDiskMark spawns threads to perform I/O against a temporary file on the target volume. The design mirrors CrystalDiskMark’s use of Microsoft’s diskspd parameters — block size, queue depth, thread count, duration, and warmup — adapted for macOS. Queue depth is implemented via concurrent threads (up to the macOS per-task limit of 2048) rather than POSIX AIO, which only supports 16 queues on macOS.

Usage

  1. Select a target volume from the dropdown.
  2. Click All (or an individual test button).
  3. When finished, press ⌘S to save a screenshot, or copy the plain-text results.

Note: Avoid running write benchmarks more than necessary — repeated writes can reduce the lifespan of flash storage.

License

MIT License. See LICENSE for details.

UI design used with permission from the author of CrystalDiskMark.

评论

暂无评论