Create a sparse file of a given size with Powershell
Very simple to create a sparse file:
[System.IO.file]::writeallbytes('t.txt',$(New-Object Byte $(400MB)))
Creating a not-sparse file is more complicated and would likely use get-random to assign the contents of the byte. You might consider writing 1MB 400 times to get 400MB, or some derivation there of. This is why benchmarking is difficult, you need to mimic whatever operation you’re trying to benchmark. Does this operation write 1024KB chunks? Does it flush data to disk using an API other than .NET?