Skip to content

v4.0.2 — Windows performance + honest progress

Choose a tag to compare

@github-actions github-actions released this 13 Aug 07:24
· 3 commits to master since this release

Windows-focused performance release, built from profiling a real 85 GB backup (NVMe → USB): total wall-clock 1h 4m → 44m 47s on the identical job — the remaining time is the destination drive's physical write speed.

Performance

  • Disk-layout mapping ~1000× faster on Windows (12m 48s → 0.7s on a 6,600-file job): the per-file probe now opens attributes-only, so Windows Defender no longer content-scans every file, and probes run on a wider worker pool.
  • Layout mapping is skipped entirely on SSD/NVMe sources — flash has no seek penalty, so physical ordering can't help. One seek-penalty query per source volume decides; rotational sources keep the full mapping, and a Seek-penalty check: line explains the decision.
  • Small files (<1 MB) copy through a parallel writer pool (threads ×4, up to 128) instead of a single-threaded stream, overlapping per-file overhead (NTFS metadata, antivirus on-access scans). Small files also copy first, riding the destination's fresh write cache.

New Features

  • --small-files parallel|stream — choose the small-file engine; classic tar bundling stays available (GUI: Advanced → Small files).
  • Current-file display: the GUI shows the file being written right now, with its own progress for large files — a 50 GB archive no longer looks like a frozen counter (--progress-json gains current / current_done / current_total).
  • --threads now defaults from the CPU (logical processors, min 4, max 8); the GUI selector gains auto plus 16/32/64/128.

Improvements

  • Speed and ETA you can trust: speed is a 30-second windowed rate (the old run-long average hid mid-run slowdowns), the ETA is smoothed and stage-aware, and it shows "—" instead of a bogus number until enough history exists.
  • 6 new UI strings translated across all 6 languages, including the previously untranslated CLI help epilog.

Bug Fixes

  • Files under 8 KB copied by the new parallel path could keep a wrong modification time (write-buffer flush ordering).
  • Layout probes no longer fail on files being concurrently renamed or deleted (FILE_SHARE_DELETE).
  • Long-path (\\?\) prefixes made local volumes look like network shares to the SSD detection.

Full Changelog: v4.0.0...v4.0.2