‹ BackHN Continuity

Thread

German Rheinmetall open-sources its Battlesuite connected weapon system protcol

284 points · 109 comments · summarity

  1. jjmarr · · focus · HN ↗
    Open the C++ example up and the first thing I see:

    ```cpp std::cout << "Received ReportCoordinateFrameSettings" << std::endl; ```

    Generally, I've heard `std::endl` instead of \n has bad performance because it forces the statement to print immediately. And because cout is guaranteed to flush anyways when the program ends, you're adding a delay for no reason.

    I wonder if there's something I'm not seeing that led to them adopting this rule. e.g. "abnormal program termination" caused by the weapon blowing itself up circumventing a buffer flush?

    1. aftbit · · focus · HN ↗
      This seems like an incredibly unimportant quibble... I would imagine they just used std::endl b/c that's what most random tutorials used in the 2000s and that's how the engineer learned. If you are printing a debug string, you probably don't care that much about perf in the first place.
      1. jjmarr · · focus · HN ↗
        I was wondering if it's a hard real-time constraint or something to ensure consistent timing.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.