[
https://issues.apache.org/jira/browse/THRIFT-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13541609#comment-13541609
]
Jens Geyer edited comment on THRIFT-1815 at 1/1/13 10:46 AM:
-------------------------------------------------------------
I see and understand your point, but I'm not so sure about cost vs. benefit
with regard to the Thrift compiler itself. I have two major questions, maybe
you could shed some light on them:
(1) What is the performance impact that you experience when compiling a single
thrift file? How many thrift files are you compiling on a regular basis and
therefore what's the total performance impact?
(2) How likely is it, that someone breaks your changes with another patch
unnoticed, which e.g. might reintroduce "using Namespace std" again? Could this
be prevented somehow?
was (Author: jensg):
I see and understand your point, but I'm not so sure about cost vs. benefit
with regard to the Thrift compiler itself. I have two major questions, maybe
you could shed some light on them:
(1) How much is the performance impact that you experience when compiling a
single thrift file? How many thrift files are you compiling on a regular basis
and therefore what's the total performance impact?
(2) How likely is it, that someone breaks your changes with another patch,
which e.g. might reintroduce "using Namespace std" again? Could this be
prevented somehow?
> Code generators line buffer output
> ----------------------------------
>
> Key: THRIFT-1815
> URL: https://issues.apache.org/jira/browse/THRIFT-1815
> Project: Thrift
> Issue Type: Improvement
> Components: Compiler (General)
> Affects Versions: 0.9
> Reporter: Andrew Gaul
> Labels: performance
> Attachments: thrift_std_endl.patch
>
>
> 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
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira