Disclosure: On this site you won’t find specific advice on “how to call function xyz()”. Interpreting C++ ARM and #pragma dwim is also out of scope.

We’re treating our readers as intelligent beings who can use Google and/or StackOverflow, where all such specific questions were answered more than once.

What you will find is opinions, more opinions, and even more opinions on all the aspects of software development - and with a large chunk of them based on real-world experience too.

Your mileage may vary. Batteries not included.

C++ Guidelines - Made-to-Measure vs One-Size-Fits-All

June 6, 2016 by “No Bugs” Bunny

One-Size-Fits-All vs Made-to-Measure

Abstract:

After bashing all those Big Name guys for making those over-arching sets of guidelines, it is perfectly logical for me myself to do the same?

Quote:

DON’T use C-style cast, EVER. If you DO need a cast – DO spend time on figuring out which of C++ *_cast<>s you really mean (and maybe, you’ll find a way to avoid that cast at all)

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingProgramming LanguagesOn.DevelopmentDevelopment Processes

Tagged With: C/C++
Read more

C++ Performance: Common Wisdoms and Common “Wisdoms”

May 30, 2016 by “No Bugs” Bunny

Premature Optimisation - KISS - Premature Pessimization

Quote:

over(ab)using C++ features is a different story, we’ll discuss these features below on case-by-case basis

Another Quote:

Compiler will use all its Next-to-Divine Wisdom to show you that it is smarter than you are, and to ignore most of those inline specifications you carefully wrote.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingTips and TricksProgramming LanguagesOptimizations

Read more

C++ for Games: Performance. Allocations and Data Locality

May 23, 2016 by “No Bugs” Bunny

C++ performance

Abstract:

Allocations and related lack of spatial locality can be DAMN EXPENSIVE

Quote:

During the times of Ancient Gamers (also known as times of Atari, ZX Spectrum, and Commodore64), CPUs were running at clock speed of a single-MHz (and one operation usually took several clocks). At the same time, memory run at about the speed comparable to that of CPUs.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingTips and TricksProgramming LanguagesOptimizations

Read more

Marshalling and Encodings

May 16, 2016 by “No Bugs” Bunny

Marshal, well... marshalling

Quote:

Encoded data size is especially important for Client-Server communications, and less important (within reason) for Server-to-Server ones and for locally-stored format.

Another Quote:

On the other hand, due to being optimized for CPU operation, Flatbuffers are NOT optimized space-wise; even compared to not-so-optimal-space-wise Google Protocol Buffers, Flatbuffers can lose additional 1.5x in size

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.ProgrammingNetwork Programming

Read more