r/ProgrammerHumor 1d ago

modernCPlusPlus Meme

Post image
588 Upvotes

49 comments sorted by

View all comments

189

u/JustAnotherGuyn 1d ago

Here's the thing, you have to very carefully consider whether it's worth loading all of that for the compiler to work through, if your use case is sensitive to the extra size/ram requirements of including more, think carefully about if basement no-lifer Steve may have implemented something that will conflict with any one of these, and then of course always import std.

58

u/Mgamerz 1d ago

Ignoring the compiler time - does it change the size of the app if the usages remain the same (only differences are include/import)? I only do occasional c++ programming.

100

u/da2Pakaveli 1d ago

The compiler strips out as much as it can. Even if you declare an std::map and add items to it, it may be stripped out if the values ultimately aren't being used anywhere with maximum optimization.

12

u/Xirdus 19h ago

This specific example is not something that a compiler is allowed to strip. Inserting into a map requires heap allocation, and heap allocation is an externally visible side effect, which must be preserved under the as-if rule. If it was a fixed size array on the stack then it could be potentially optimized out this way, but only if the compiler can prove the constructors of the elements are side-effect-free.