The fairly constant performance advantage of unguarded puts is expected, however the spike in guarded is informative. The dramatic cost increase coincided with disk thrashing. The first spike was caused by a coincident user logon that required memory, and the second was caused by a coincident source compilation that also required memory - at a time when the mmap was fully consuming RAM. In other words it had to page out some of the buffer.