TL;DR On modern 64-bit PC architectures, C++ exceptions only add unreachable code with destructor calls into functions and their effect on performance is below 1%, but such low values are difficult to measure. Handling rare errors with return values requires additional branching that slows down the program in realistic scenarios by about 5% and are also less convenient. If an exception is actually thrown, stack unwinding costs about 2 µs per stack frame.
Prologue and motivation A part of my PhD. research deals with computer science as a source of innovative ways to…
This is yet another trick to achieve reflection-like functionality before Reflection TS, this time needing only C++11. It’s based on using CRTP to fill the object with carefully chosen garbage before initialisation.
How to write a template function that takes a class and executes type-dependent code on all its member variables, without requiring the class to specifically support it?
I’ve recently gained interest in OpenCV. The problem with this is, that in most modern tutorials and walkthroughs it seems…
Since I bought Oculus Quest, I felt that it lacked a proper Doom-like action shooter. I created a scene in the editor based on what I envisioned, but it was absolutely impossible to run on Oculus Quest. This article describes various tricks I have used to bring it to Quest without too much sacrifice.
As somebody who’s always had Ubuntu in his daily life for the past 13 years, I sometimes find it hard…
Vector can find elements in linear time, hashtable in constant time. That’s a pretty elementary part of computer science. However, better complexity does not always mean it’s faster.
So I was told that Oculus SDK is Windows only and Linux gets no love. Bullshit.
How about defining the variable, initialising it and writing code for serialisation and deserialisation on a single line of code?