Restoring a Macrium image is mostly one job: decompress every block and
check it against the MD5 Macrium stored inside the image. We measured
that exact path — every block, every hash — on real
.mrimg and .mrimgx files. The script that
produced these numbers is in the repo, so you can rerun it yourself.
Median of 3 full read+verify passes. Single-threaded decompress + MD5, laptop CPU, no disks written.
.mrimgx (zstd)
.mrimg (QuickLZ), 859 MB NTFS
mrimg info)
MacriumPartitionReader a restore uses: each block is
decompressed (zstd for .mrimgx, QuickLZ for
.mrimg) and its MD5 is compared against the digest Macrium
wrote into the image. A single decode error fails the read. This is the
hard, CPU-bound part of a restore — writing the result to disk is
bounded by your target drive on top of this.
Five real-world samples: three Reflect X images, one small Reflect 7/8 image, and a 1.25 GB Reflect 7/8 full-disk image of a real machine (931.5 GB GPT disk, NTFS partitions).
| Image | Format | Compress | File size | Partition read | Parse | Read+verify |
|---|---|---|---|---|---|---|
EA9A…D76F |
Reflect X .mrimgx |
zstd medium | 17.8 MB | 100 MB FAT32 | 3 ms | 210 MB/s |
8DB9…986A |
Reflect X .mrimgx |
zstd medium | 17.8 MB | 100 MB FAT32 | 5 ms | 195 MB/s |
0EDC…131 |
Reflect X .mrimgx |
zstd medium | 17.8 MB | 100 MB FAT32 | 16 ms | 152 MB/s |
6D88…845 |
Reflect 7/8 .mrimg |
QuickLZ high | 1.17 GB | 859 MB NTFS | 42 ms | 167 MB/s |
14CC…036 |
Reflect 7/8 .mrimg |
QuickLZ high | 5.6 MB | 16 MB (small) | 8 ms | 62 MB/s * |
.mrimg figure.
No vendor claims, no cherry-picked workloads. Drop real Macrium images in the folder, run one script, read the JSON.
git clone https://github.com/bobeire/opbs && cd opbs npm install && npm run build && npm run build:native # copy your .mrimg / .mrimgx files into imagefilesamples/ (or the repo root) node tools/benchmark-mrimg.js 3
The script prints one JSON line per run plus a median summary — the same format shown in the table above. benchmark-mrimg.js on GitHub ↗
mrimg info on the 1.25 GB disk image completes in ~100 ms — the browse/extract/restore UI never waits on a slow index..opbs images use a different codec
pipeline (multithreaded zstd) and aren't measured here. Restores to
disk also write at your disk's speed on top of the read numbers.