Well screentest pops up, and when I press “Ok”, the horizontal and vertical are then printed. I can live with it – jut wanted to know whether this is a permanent condition or whether there wa a workaround.
It doesn’t speed anything up. There’s also no race condition, because
these commands are all done on a single thread.
Output streams write to a memory buffer. That memory buffer needs to be
flushed so that it is actually sent to the output device (which could be
anything, not just a simple terminal). C and C++ separate writing and
flushing to give you more control. If you don’t care about that control,
just use std::endl to write a newline and force a flush.
Jonny DOn Mon, Feb 13, 2017 at 12:24 PM, speartip wrote:
Hi,
Thank you for the solutions, they all worked. Of all the combinations I
tried, the one below worked the best:
Code:
std::cout<< horizontal <<"\t"<
Generally speaking, why did flushing the stream and combinations, etc.,
work to speed up the routine?
‘std::cout << std::endl’ is equivalent to ‘std::cout << ‘\n’ <<
std::flush’, so you’re flushing three times here. That’s a bad idea
because flushing slows down the program. I recommend this:
Flush exactly once, at the very end of your output, and always use
’std::flush’ instead of ‘std::endl’ because 'std::flush is more explicit
about your intention.On 13.02.2017 18:24, speartip wrote:
Flush exactly once, at the very end of your output, and always use
’std::flush’ instead of ‘std::endl’ because 'std::flush is more explicit
about your intention.
Yes, following that advice, that’s true. Makes more sense when I look at the changes.
That’s a bad idea
because flushing slows down the program.
So what’s the best balance in a speed optimized routine?
For optimizing speed, do not print anything at all.
Jonny DOn Wed, Feb 15, 2017 at 10:00 AM, speartip wrote:
Quote:
Flush exactly once, at the very end of your output, and always use
’std::flush’ instead of ‘std::endl’ because 'std::flush is more explicit
about your intention.
Yes, following that advice, that’s true. Makes more sense when I look at
the changes.
Quote:
That’s a bad idea
because flushing slows down the program.
So what’s the best balance in a speed optimized routine?