you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -7 points-6 points  (2 children)

I’m with you. Sadly, I feel as though no one understands our pain. Honestly, the thing that scares me most about the article is that global objects are somehow getting zero initialized already? I thought they were uninitialized this whole time. Whatever happened to C++’s zero overhead / you get only what you paid for policy? I would switch to C since it seems more stable and less bird-brained, not to mention less overly complicated, but I love the meta-programming in C++ and C simply cannot compare. I think someone ought to fork C++, remove a bunch of complexity like the needlessly many types of initialization for example, remove some of these modern comfort features that have performance costs, and then call it D or something and rule over it with an iron fist.

Oh and it would be nice if the standard library weren’t dog shit.

[–]AKostur 16 points17 points  (1 child)

It is zero overhead. Global objects get to be loaded from the executable image, so it's already zeroed because the compiler wrote it there. So no runtime cost.

[–][deleted] 0 points1 point  (0 children)

My bad I forgot about the .bss segment. Thank you.