So after a lot of misguided profiling where I ended up just testing the stupid CPU cache and its ability to fucking predict what my code is going to do, I have, for the most part, demonstrated the following: if(!(rand()%2d)) footest.nothing(); else footest.nothing2(); is slightly faster then (footest.*funcptr[rand()%2])(); where funcptr is an array of the possible function calls. I had suspected this after I looked at the assembly, and a basic function pointer call like that takes around 11 i...