It is generally only worth profiling code which has been compiled. If you profile interpreted code, the interpreter itself is profiled, and this skews the results for the actual Lisp program.
Macros cannot be profiled because they are expanded during the compilation process.