Copy Engine

Size-first dispatch with zero-alloc micro copies, raw P/Invoke I/O, triple-buffered overlapped pipeline, 9 hash engines, VSS snapshot support, and Defender exclusion.

Size-First Dispatch

Brutal Copy's engine categorises every file by size before choosing the optimal copy path. Four tiers ensure every file 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+Triple-buffered overlapped I/O pipeline

Micro and small files use dedicated inlined copiers with raw kernel handles for maximum throughput on small-file workloads.

Copy Strategies

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

  • Triple-buffered overlapped I/O — async read/write pipeline for large file copying.
  • Multi-destination — read once, write to many targets simultaneously.
  • 9 inline hash engines — BLAKE3, SHA-256, SHA-384, SHA-512, SHA-1, MD5, CRC32, CRC32C, and no-hash fast path.
  • VSS snapshot support — copy locked files via Volume Shadow Copy.
  • Recovery checkpoints — periodic crash-resilient checkpoint files for long operations.
  • Defender exclusion — temporarily excludes paths from Windows Defender real-time scan.
  • Locked file handling — detect locked files with skip, unlock, or VSS fallback options.

Performance Presets

Configure copy behaviour in Settings > Copy Engine:

  • Thread count — adjust parallel copy threads for your hardware (default: 4).
  • Hash verification — choose from 9 algorithms for inline or post-copy verification.
  • Conflict policy — set the default conflict resolution mode.
  • Recovery mode — enable periodic checkpoints for crash resilience.
  • Retry count — configure automatic retry for failed operations.
  • Preserve options — timestamps, attributes, junctions, symlinks.

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 cached suffix patterns.
  • Skip — keep existing files and do not copy.
  • Ask — raise a dialog for each conflict, letting you decide per-file.

Set the default policy in Settings > Copy Engine. You can also override from the CLI (--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.
  • Hard Links — option to recreate hard links instead of full copies.
  • File Ownership — optionally preserve file owner/creator information.
  • Encrypted Files — option to copy encrypted files without decryption.