race condition (sort of)? message box verus function return |
race condition (sort of)? message box verus function return |
Evan Ramos
Guest
|
Try replacing the '\n' with std::endl, or inserting std::flush after the '\n'.
-H ----- "After you finish the first 90% of a project, you have to finish the other 90%." - Michael Abrash _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||
|
worked great thx |
speartip
|
Hi,
Thank you for the solutions, they all worked. Of all the combinations I tried, the one below worked the best:
Generally speaking, why did flushing the stream and combinations, etc., work to speed up the routine? |
|||||||||||||
|
race condition (sort of)? message box verus function return |
Jonny D
|
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 D On Mon, Feb 13, 2017 at 12:24 PM, speartip wrote:
|
|||||||||||||
|
speartip
|
Hi, points well taken thanks.
What I meant by sped up was that now my cout information was arriving before by message box where it had not before. |
|||||||||||
|
race condition (sort of)? message box verus function return |
Rainer Deyke
Guest
|
On 13.02.2017 18:24, speartip wrote:
'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: std::cout << horizontal << "\t" << vertical << "\t\n" << std::flush; 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. -- Rainer Deyke - _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||
|
speartip
|
Yes, following that advice, that's true. Makes more sense when I look at the changes.
So what's the best balance in a speed optimized routine? |
|||||||||||||||
|
race condition (sort of)? message box verus function return |
Jonny D
|
For optimizing speed, do not print anything at all.
Jonny D On Wed, Feb 15, 2017 at 10:00 AM, speartip wrote:
|
|||||||||||||
|
speartip
|
|
|||||||||||
|