Earlier quoted context omitted.
Macros shouldn’t have any performance implications. The whole point is that they happen at compile time.
100% about compile times. Sorry, wasn't clear about that.
Have written quite a lot of macros, unless you're doing something really crazy you should be fine. The one time I've really run into macros slowing down compilation a lot was when I wrote my protobuf library which parses a protoc file during compile-time and generates all the required types and procedures. And that was mostly because the parser I used was really poorly optimized.