<div dir="rtl"><div dir="ltr">With Windows 7 64 bit, 7200 rpm Hard Disk:</div><div dir="ltr"><br></div><div dir="ltr">3.813218e+00</div><div dir="ltr">2.341834e+01</div><div dir="ltr"><br></div><div dir="ltr">mmap is consistently 5-6 times faster.</div><div dir="ltr"><br></div><div dir="ltr">With Windows 7 64 bit, SSD there is less of a difference, </div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr">3.447606e+00</div><div dir="ltr">4.711208e+00</div><div dir="ltr"><br></div><div>the SSD timing results were inconsistent, most of the time mmap is faster but I also saw the inverse</div><div><br></div><div><div>3.456198e+00</div><div>2.989171e+00</div></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div dir="ltr">2014-12-13 1:30 GMT+02:00 Rafael Ávila de Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span>:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It seems that the common wisdom on the fastest way to create a file is<br>
<br>
* create the file<br>
* resize it to the final size<br>
* mmap it rw<br>
* write the data to the mapping<br>
<br>
I benchmarked that against doing 1 MB writes to create a 1GB file with pseudo random data.<br>
<br>
The test program is attached. The results I got were (in seconds, mmap is the first):<br>
<br>
btrfs<br>
1.752698e+00<br>
1.112864e+00<br>
<br>
tmpsfs<br>
1.484731e+00<br>
1.113772e+00<br>
<br>
hfs+ (laptop)<br>
4.015817e+00<br>
2.240137e+00<br>
<br>
windows 7 (vm)<br>
1.609375e+00<br>
3.875000e+00<br>
<br>
ext2 on arm (old google chrome book):<br>
5.910171e+01<br>
6.566929e+01<br>
<br>
So on Windows it is true, mmap seems to be faster than writes. On Linux and OS X x86_64 the situation is inverted. On arm mmap is a bit faster.<br>
<br>
It would be interesting to see if someone else can reproduce these numbers. It would be particularly nice to try a newer arm system and windows outside a vm.<br>
<br>
Also, does anyone have a theory of where the difference comes from?<br>
<br>
Cheers,<br>
Rafael<br>
<br><br>
<br>
<br>
Sent from my iPhone<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div></div>