When a Microsecond is an Eternity: High Performance Trading Systems in C++