1. A method, performed by a compiler at compile time of program code, for optimizing interfaces, the method comprising the steps of: receiving and compiling the program code by the compiler; building an interface lookup table that maps each interface in the program code to object types that implement each interface, the compiler having knowledge of all the interfaces and the object types implementing the interfaces at compile time of the program code, the compiler performing the method in a closed system in which source code is directly compiled into executable machine code without generation of intermediate code, the closed system not utilizing a common language runtime environment nor a Java runtime environment when the machine code is executed at runtime; applying one or more optimizations at compile time of the program code to the interface lookup table that are arranged to reduce the interface lookup table's size; and iteratively reapplying the one or more optimizations at compile time of the program code to the interface lookup table until no additional transformations to the interface lookup table occur.