Sorry for the delay, here comes the new results from usemem which Kirill used in the previous patch. Tested on Xeon machine with 64GiB of RAM, using the current default fault order 4. Sequential access 16GiB file Baseline with-patch 1 thread minor fault 4,194,406 262,194 time, seconds 6.38 5.08 8 thread minor fault 33,554,768 3,466,150 time, seconds 10.92 7.33 32 thread minor fault 134,220,140 8,450,265 time, seconds 40.77 34.24 60 thread minor fault 251,661,943 15,790,478 time, seconds 77.23 65.19 120 thread minor fault 503,330,421 31,578,717 time, seconds 143.11 130.58 Random access 16GiB file Baseline with-patch 1 thread minor fault 263,568 16,667 time, seconds 10.08 10.57 8 thread minor fault 2,097,700 184,134 time, seconds 13.65 13.66 32 thread minor fault 8,389,948 579,089 time, seconds 39.44 38.56 60 thread minor fault 15,733,099 1,019,478 time, seconds 73.67 72.63 120 thread minor fault 31,467,940 2,009,898 time, seconds 148.48 145.81