Ok, I spent some time today and benchmarked ext4+dax, nova (with inplace_data_updates=1, because it would be unfair for nova with default settings) and pmemfile on DRAM-emulated pmem with regular Skylake CPU.
First result is always for ext4, 2nd for nova, 3rd for pmemfile. This is bandwidth (in kB/s), so higher is better. FIO configurations can be found here: https://github.com/pmem/pmemfile/tree/master/utils/fio/. The best result is in bold.
append64
57588
49168
113653
append512
259494
381994
870187
append64k
4562332
16341444
13559172
write64
57474
47966
114046
write512
309203
367440
892196
write64k
16701553
16347012
22529019
randwrite64
43316
40589
80603
randwrite512
352866
336198
679860
randwrite64k
16415930
15891286
21115274
read64
129922
182207
181075
read512
996425
1395789
1183149
read64k
18469602
19011876
18456036
randread64
86956
88777
100491
randread512
718048
739612
733759
randread64k
17795568
17568962
16862292
First result is always for ext4, 2nd for nova, 3rd for pmemfile. This is bandwidth (in kB/s), so higher is better. FIO configurations can be found here: https://github.com/pmem/pmemfile/tree/master/utils/fio/. The best result is in bold.
append64
57588
49168
113653
append512
259494
381994
870187
append64k
4562332
16341444
13559172
write64
57474
47966
114046
write512
309203
367440
892196
write64k
16701553
16347012
22529019
randwrite64
43316
40589
80603
randwrite512
352866
336198
679860
randwrite64k
16415930
15891286
21115274
read64
129922
182207
181075
read512
996425
1395789
1183149
read64k
18469602
19011876
18456036
randread64
86956
88777
100491
randread512
718048
739612
733759
randread64k
17795568
17568962
16862292
Comment