1. A method for optimized compiling of a template function, the method comprising: receiving, by one or more computer processors, a template function, wherein the template function includes one or more data types; creating, by one or more computer processors, a single abstract instantiation for the template function; creating, by one or more computer processors, an abstract internal descriptor for each data type of the one or more data types; generating, by one or more computer processors, a map set for one or more created abstract internal descriptor, wherein the map set provides one or more of the following: the number of instantiations required from the single abstract instantiation and what type of instantiations are required, and creating, by one or more computer processors, a finished object using each generated map set, wherein the created finished object is a translation of an intermediate representation into assembly code.