Learn from the Doxygen source code how to optimize the memory usage.

When the processes running on your machine attempt to allocate more memory than your system has available, the kernel begins to swap memory pages to and from the disk. This is done in order to free up sufficient physical memory to meet the RAM allocation requirements of the requestor.

Excessive use of swapping is called thrashing and is undesirable because it lowers overall system performance, mainly because hard drives are far slower than RAM.
Continue reading “Learn from the Doxygen source code how to optimize the memory usage.”

Inside the Unreal Engine 4.5 source code

The Unreal Engine is a game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. Although primarily developed for first-person shooters, it has been successfully used in a variety of other genres, including stealthMMORPGs, and other RPGs.

Its code is written in C++ and  it’s used by many game developers today. Its source code is available from GitHub and it’s free for students. Many amazing games were developed using this engine, it permits to produce very realistic rendering like this one. Continue reading “Inside the Unreal Engine 4.5 source code”

Doom3 is the proof that “keep it simple” works.

If you search on the web for the best C++ source code. The Doom3 source code is mentioned many times, with testimonials  like this one.

I spent a bit of time going through the Doom3 source code. It’s probably the cleanest and nicest looking code I’ve ever seen.

Doom 3 is a video game developed by id Software and published by Activision.The game was a  commercial success for id Software; with more than 3.5 million copies of the game were sold. Continue reading “Doom3 is the proof that “keep it simple” works.”

Make the most of the C/C++ static analysis tools

Static code analysis is the process of detecting flaws in software’s source code.  The static analysis tools are useful to detect common coding mistakes; here are some benefits from using them:

  • Make the code source more readable and maintainable.
  • Prevent unexpected behavior in execution.
  • Optimize the execution.
  • Make the code more secure.

Many C/C++ static analysis tools exist right there, each one focus on a specific area and has its advantages, we can enumerate:

  • CppCheck 
  • Clang Analyzer
  • Visual C++ Analyzer
  • VERA++
  • Goanna
  • Viva64
  • PCLint

Continue reading “Make the most of the C/C++ static analysis tools”

SQLite: The art of keep it simple.

16 years after its first checkin, SQLite is the most widely deployed database engine in the world. such open source project is a good candidate to learn how to make your code easy to understand and to maintain.

Let’s discover some facts about the SQLite code base, for that let’s begin with the following code snippet: Continue reading “SQLite: The art of keep it simple.”