The Life of a Programmer

Pitfalls of Performance Testing

Beware the casual performance test, it will lie to you. It is simple to write something that gives you timings, but it is difficult to

Performance is irrelevant

Asking questions about performance online universally invites scorn and accusation. A large number of programmers apparently feel that the efficiency of code is nowadays insignificant.

How Polymorphism Works: Part 1

Polymorphism: the core of object oriented programming. Most modern languages have some concept of interfaces, virtual functions, and classes. Though each language differs in details,

What is an atomic operation?

We all know that operations in a computer happen one after the other. Having multiple CPUs and instruction reordering tends to obfuscate the issue. Technically

CPU Memory – Why do I need a mutex?

Multi-threaded programming calls for semaphores, synchronized blocks, mutexes, or whatever your language happens to call them. Most of us basically understand why we need them:

The Cost – A Function Call

In the grand scheme of execution costs function calls come very close to the bottom of the list. They don’t cost very much at all