On.Programming

For most of us, programming (or more generally – software development) is all the life is about.

IT Hares are not different. And they have more than just quite a few bits to share about programming…

Implementing Queues for Event-Driven Programs

June 13, 2016 by “No Bugs” Bunny

Multiple Writers Single Reader Queue

Quote:

full queues SHOULD NOT happen during normal operation

Another Quote:

With queues-implemented-over-mutexes like the ones we’ve written above, the most annoying thing performance-wise is that there is a chance that the OS’s scheduler can force the preemptive context switch right when the thread-being-preempted-is-owning-our-mutex.

Filed under: Book: D&D of MOGs1st beta of Vol. IV-VIOn.System Architecture(Re)ActorsOn.ProgrammingTips and Tricks

Read more

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