Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-1815

Code generators line buffer output

    XMLWordPrintableJSON

Details

    • Patch Available

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gaul Andrew Gaul
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: