Benchmark numbers after Dev Drive initial release in Win11 22H2 10.0.25982.1000, Windows Canary release with early version of CoW-in-Win32
16-core Azure AMD v5 VM.
ExtentsOnly = Files to be copied/cloned were created only by setting the file extents. WroteData = Files were also written to. ReFS/Dev Drive behaves differently in this case.
BenchmarkDotNet=v0.13.2, OS=Windows 11 (10.0.25982.1000), VM=Hyper-V AMD EPYC 7763, 1 CPU, 16 logical and 8 physical cores .NET SDK=6.0.416 [Host] : .NET 6.0.24 (6.0.2423.51814), X64 RyuJIT AVX2 Job-TCXEGU : .NET 6.0.24 (6.0.2423.51814), X64 RyuJIT AVX2
Method | FileSize | FileContents | Mean | Error | StdDev | Median | Ratio | RatioSD |
---|---|---|---|---|---|---|---|---|
File.Copy | 0 | ExtentsOnly | 167.5 us | 1.01 us | 1.24 us | 167.5 us | 1.00 | 0.00 |
CoW | 0 | ExtentsOnly | 149.5 us | 2.80 us | 2.75 us | 148.7 us | 0.89 | 0.01 |
File.Copy | 0 | WroteData | 167.2 us | 2.28 us | 1.91 us | 167.8 us | 1.00 | 0.00 |
CoW | 0 | WroteData | 147.9 us | 2.93 us | 2.45 us | 147.6 us | 0.88 | 0.02 |
File.Copy | 1 | ExtentsOnly | 254.9 us | 6.03 us | 17.51 us | 245.4 us | 1.00 | 0.00 |
CoW | 1 | ExtentsOnly | 187.5 us | 4.17 us | 11.91 us | 182.1 us | 0.74 | 0.06 |
File.Copy | 1 | WroteData | 459.4 us | 8.77 us | 19.79 us | 459.5 us | 1.00 | 0.00 |
CoW | 1 | WroteData | 381.7 us | 7.56 us | 17.06 us | 379.4 us | 0.83 | 0.05 |
File.Copy | 1024 | ExtentsOnly | 283.3 us | 6.14 us | 17.72 us | 273.8 us | 1.00 | 0.00 |
CoW | 1024 | ExtentsOnly | 219.6 us | 4.50 us | 12.69 us | 213.3 us | 0.78 | 0.06 |
File.Copy | 1024 | WroteData | 489.5 us | 9.70 us | 22.88 us | 487.4 us | 1.00 | 0.00 |
CoW | 1024 | WroteData | 419.3 us | 8.32 us | 21.33 us | 419.6 us | 0.86 | 0.06 |
File.Copy | 16384 | ExtentsOnly | 275.3 us | 5.47 us | 15.42 us | 267.7 us | 1.00 | 0.00 |
CoW | 16384 | ExtentsOnly | 218.7 us | 4.34 us | 12.32 us | 213.3 us | 0.80 | 0.06 |
File.Copy | 16384 | WroteData | 275.7 us | 5.51 us | 14.13 us | 269.4 us | 1.00 | 0.00 |
CoW | 16384 | WroteData | 219.8 us | 5.42 us | 15.20 us | 212.5 us | 0.80 | 0.06 |
File.Copy | 262144 | ExtentsOnly | 276.5 us | 5.81 us | 16.96 us | 268.1 us | 1.00 | 0.00 |
CoW | 262144 | ExtentsOnly | 213.3 us | 4.23 us | 4.53 us | 211.8 us | 0.76 | 0.05 |
File.Copy | 262144 | WroteData | 278.9 us | 5.57 us | 15.16 us | 272.3 us | 1.00 | 0.00 |
CoW | 262144 | WroteData | 212.9 us | 3.01 us | 3.70 us | 212.8 us | 0.76 | 0.05 |
File.Copy | 1048576 | ExtentsOnly | 273.8 us | 5.44 us | 10.86 us | 271.1 us | 1.00 | 0.00 |
CoW | 1048576 | ExtentsOnly | 211.6 us | 4.22 us | 3.52 us | 211.5 us | 0.77 | 0.03 |
File.Copy | 1048576 | WroteData | 281.4 us | 5.57 us | 15.35 us | 274.6 us | 1.00 | 0.00 |
CoW | 1048576 | WroteData | 216.3 us | 2.95 us | 2.30 us | 216.6 us | 0.77 | 0.05 |
File.Copy | 16777216 | ExtentsOnly | 499.5 us | 9.93 us | 26.17 us | 498.9 us | 1.00 | 0.00 |
CoW | 16777216 | ExtentsOnly | 242.7 us | 5.55 us | 16.11 us | 236.3 us | 0.49 | 0.04 |
File.Copy | 16777216 | WroteData | 551.1 us | 11.84 us | 33.60 us | 550.8 us | 1.00 | 0.00 |
CoW | 16777216 | WroteData | 240.1 us | 5.28 us | 15.16 us | 232.8 us | 0.44 | 0.04 |
Method | FileSize | FileContents | Mean | Error | StdDev | Median | Ratio | RatioSD |
---|---|---|---|---|---|---|---|---|
File.Copy | 0 | ExtentsOnly | 167.8 us | 1.40 us | 1.09 us | 168.0 us | 1.00 | 0.00 |
CoW | 0 | ExtentsOnly | 150.4 us | 2.49 us | 1.94 us | 151.0 us | 0.90 | 0.01 |
File.Copy | 0 | WroteData | 168.7 us | 2.81 us | 3.46 us | 167.8 us | 1.00 | 0.00 |
CoW | 0 | WroteData | 149.9 us | 2.88 us | 2.41 us | 150.2 us | 0.89 | 0.03 |
File.Copy | 1 | ExtentsOnly | 252.2 us | 5.11 us | 14.57 us | 244.7 us | 1.00 | 0.00 |
CoW | 1 | ExtentsOnly | 188.7 us | 4.19 us | 11.88 us | 182.9 us | 0.75 | 0.06 |
File.Copy | 1 | WroteData | 469.5 us | 9.35 us | 22.03 us | 471.7 us | 1.00 | 0.00 |
CoW | 1 | WroteData | 394.2 us | 8.24 us | 23.65 us | 393.2 us | 0.84 | 0.06 |
File.Copy | 1024 | ExtentsOnly | 285.2 us | 5.69 us | 14.98 us | 277.4 us | 1.00 | 0.00 |
CoW | 1024 | ExtentsOnly | 219.3 us | 4.37 us | 12.19 us | 213.1 us | 0.77 | 0.06 |
File.Copy | 1024 | WroteData | 499.3 us | 9.94 us | 21.18 us | 499.7 us | 1.00 | 0.00 |
CoW | 1024 | WroteData | 439.1 us | 9.02 us | 26.18 us | 435.5 us | 0.88 | 0.06 |
File.Copy | 16384 | ExtentsOnly | 275.1 us | 5.55 us | 15.91 us | 267.9 us | 1.00 | 0.00 |
CoW | 16384 | ExtentsOnly | 217.9 us | 4.35 us | 11.85 us | 213.1 us | 0.79 | 0.06 |
File.Copy | 16384 | WroteData | 285.0 us | 5.52 us | 15.40 us | 280.4 us | 1.00 | 0.00 |
CoW | 16384 | WroteData | 212.6 us | 2.91 us | 5.02 us | 211.5 us | 0.74 | 0.04 |
File.Copy | 262144 | ExtentsOnly | 276.8 us | 5.65 us | 16.40 us | 269.4 us | 1.00 | 0.00 |
CoW | 262144 | ExtentsOnly | 218.9 us | 4.37 us | 11.51 us | 214.0 us | 0.79 | 0.05 |
File.Copy | 262144 | WroteData | 278.2 us | 5.53 us | 14.56 us | 270.9 us | 1.00 | 0.00 |
CoW | 262144 | WroteData | 215.3 us | 4.29 us | 7.95 us | 212.1 us | 0.78 | 0.04 |
File.Copy | 1048576 | ExtentsOnly | 276.6 us | 5.52 us | 11.16 us | 273.4 us | 1.00 | 0.00 |
CoW | 1048576 | ExtentsOnly | 231.0 us | 6.36 us | 18.05 us | 225.5 us | 0.82 | 0.07 |
File.Copy | 1048576 | WroteData | 284.1 us | 5.72 us | 16.43 us | 276.7 us | 1.00 | 0.00 |
CoW | 1048576 | WroteData | 223.7 us | 5.10 us | 14.46 us | 219.2 us | 0.79 | 0.06 |
File.Copy | 16777216 | ExtentsOnly | 498.1 us | 9.54 us | 20.74 us | 496.8 us | 1.00 | 0.00 |
CoW | 16777216 | ExtentsOnly | 235.7 us | 3.52 us | 2.75 us | 236.0 us | 0.48 | 0.02 |
File.Copy | 16777216 | WroteData | 545.4 us | 11.69 us | 33.36 us | 547.4 us | 1.00 | 0.00 |
CoW | 16777216 | WroteData | 239.7 us | 5.50 us | 15.78 us | 232.2 us | 0.44 | 0.04 |