ans should be none of these
first 3 choices are correct and so is 4th
Templates undoubtedly take longer.
However, templates are significantly more powerful and obey C++ syntactical rules, whereas macros do not.
The reason Templates take longer is because you can have a template which is recursive, and all of those recurrences need to be generated. This is the foundation upon which looping constructs in Template Metaprogramming are built. Macros, in contrast, cannot call themselves, and are therefore limited to a single expansion.