Hi,
In first place, thank you very much for participating in this benchmark project. I didn't expect such a success! Now I'll have to improve the benchmark page with more advanced search and listing options, considering the large amount of reports
the swap transfer rate for windows is extremely slow (150 MiB/s) compared to the one reported by Linux (2800MiB/s). It seems that in reality Linux is writing to RAM, whereas Windows is actually writing to the SSDs. If this is caused by Windows, then indeed Microsoft should do something about this. If this is PI on Windows, then Juan should work on this...
The Linux kernel uses free RAM to cache disk accesses. With its default configuration, the kernel can use almost all RAM available as a huge I/O cache if necessary. The kernel decides when and how to actually write the cached data to disk, following a strategy to minimize system interruptions and maximize efficiency of disk transfers. On journaling filesystems such as ext3, ext4 and xfs, the disk cache also minimizes the risk of data loses in the event of a system crash or power cut.
When I designed the PixInsight benchmark, I gave special importance to measuring disk swapping performance accurately. Remember that the benchmark attempts to be a quality estimate of the actual user's experience, not just a speed test. The benchmark basically consists of three phases:
1. Apply a sequence of processes, including highly parallelized processes, some processes that don't favor parallel execution, as well as processes that generate swap files of varying sizes (from 3 GiB to 10 MiB, unordered).
2. Undo all the processes applied in step 1. This massive undo task reads all swap files, so this may force the cache to dump most of its data to disk. However, an intelligent cache system may decide to read directly from memory if part of the data still haven't been written to disk. This is what the Linux kernel does, and it does it very well.
3. Apply the same processes of step 1 again. By doing this, all the swap files generated in step 1 have to be deleted, which necessarily invalidates the whole cache and forces it to start a new sequence.
The code that implements swap file management is exactly the same on all platforms, so PixInsight makes no distinction. The benchmark results reflect the actual performance of each machine and operating system.
Efficient disk caching is a very nice feature of the Linux kernel that greatly improves the user's experience with applications that have to manage huge volumes of data, such as PixInsight. This is especially true on machines with large amounts of RAM in the range of 32 to 64 GiB or more. When combined with PixInsight's parallel swap disk access feature, the performance gains can be spectacular. As far as I know, Neither Windows nor Mac OS X implement this kind of RAM cache, or perhaps it can be enabled on these operating systems, but I don't know how. I am not sure about FreeBSD either (Conor?).