Copy Engine

Size-first dispatch with zero-alloc micro copies, raw P/Invoke I/O, an overlapped ring pipeline for large files, eight hash algorithms, VSS locked-file support, and an optional Defender exclusion.

Size-First Dispatch

Brutal Copy's engine categorises every file by size before choosing the optimal copy path. Each tier gets purpose-built handling:

TierSize RangeOptimisation
Zero0 bytesInstant empty-file creation, no I/O
Micro1 – 85 KBStack-allocated buffer, raw Windows API handles, zero heap allocation
Small85 KB – 4 MBThread-local buffer pool, synchronous I/O
Large4 MB+Overlapped (async) I/O ring pipeline

On fast local storage, files over ~128 MB are copied unbuffered with ordered ring writes that bypass the system file cache — so “done” means the data is physically on disk, not sitting in RAM.

Copy Strategies

The copy engine uses semaphore-based thread pooling with configurable concurrency. Key capabilities:

  • Overlapped I/O ring — async read/write pipeline keeps large copies saturating the drive.
  • Multi-destination — read once, write to many targets simultaneously.
  • Inline hashing — BLAKE3, CRC32, CRC32C, MD5, SHA-1, SHA-256, SHA-384, SHA-512, or a no-hash fast path.
  • VSS snapshot support — copy locked / in-use files via Volume Shadow Copy (an elevated helper handles the snapshot).
  • Recovery checkpoints — periodic crash-resilient checkpoint files let a long copy resume after an unexpected exit.
  • Defender exclusion — an optional process exclusion removes the real-time-scan tax on small-file workloads.
  • System-friendly mode — throttles in-flight writes so the rest of the machine stays responsive during a big transfer.

Performance Options

Configure copy behaviour in Settings > Copy Engine:

  • Thread count — adjust parallel copy threads, or leave Auto to pick a count from the destination drive type.
  • Hash verification — choose one of eight algorithms (plus None) for inline or post-copy verification.
  • Conflict policy — set the default same-name resolution mode.
  • Recovery mode — enable periodic checkpoints for crash resilience.
  • Verify micros on disk — re-read tiny files after writing to confirm they landed.
  • Copy locked files — fall back to a VSS snapshot when a file is in use.

Conflict Resolution

When a destination file already exists, Brutal Copy applies one of six conflict policies:

  • Overwrite — always replace existing files, clearing read-only/hidden attributes if needed.
  • Overwrite If Newer — only replace if the source file has a more recent UTC timestamp.
  • Overwrite If Larger — only replace if the source file is larger than the destination.
  • Rename — auto-rename the destination with a cached suffix pattern.
  • Skip — keep existing files and do not copy.
  • Ask — raise a dialog for each conflict, letting you decide per-file.

Set the default in Settings > Copy Engine (the “Same name” dropdown on the Copy tab mirrors it), or override from the CLI with the --conflict switch.

Long Path & NTFS Support

All I/O operations automatically extend paths beyond the 260-character Windows limit using the \\?\ prefix. Directory creation, file reads, and file writes all handle extended-length paths transparently.

The engine also preserves advanced NTFS features during copy:

  • Alternate Data Streams (ADS) — copy and preserve NTFS metadata streams.
  • Sparse Files — detect and preserve sparse file structure.
  • NTFS Compression — preserve compression flags on files and folders.
  • Symbolic Links & Junctions — copy or recreate symlinks and junction points.
  • Timestamps & Attributes — preserve creation/modified times and file attributes.