-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 0.9
-
Component/s: Compiler (General)
-
Labels:
-
Patch Info:Patch Available
This results in slow performance on FUSE- and network-based filesystems, e.g., eCryptfs. std::ostream << std::endl emits a newline and flushes buffers to the kernel[1], yielding excessive system calls. Instead, emit "\n" which does the equivalent without the flush[2]. The attached patch accomplishes this while minimizing code churn by removing "using namespace std" and introducing a static variable endl.
[1] http://www.cplusplus.com/reference/ios/endl/
[2] http://stackoverflow.com/questions/5492380/what-is-the-c-iostream-endl-fiasco