Simple code to demonstrate this:
;; -*- lexical-binding: t -*-
(defmacro my-macro (x)
`,x)
(eval-and-compile
(defun my-func-eac (what)
(my-macro what)))
(defun my-func-normal (what)
(my-macro what))
(print (symbol-function 'my-func-eac))
(print (symbol-function 'my-func-normal))
`eval-and-compile' is advertised in Elisp manual to make byte-compilation of certain macros without prior loading possible. Looks strange that at the same time it can worsen performance of non-byte-compiled code.
Paul