Why we write our own C and C++ inference engines