I understand in many cases it is a DPS loss to use macros for GCD actions. But are there exceptions?

It is a DPS loss to use /wait because an argument is rounded to an integer. AFAIK macros are executed line by line and each line runs per frame. So it takes 33ms/line in 30fps. Macros consisting of few lines drop DPS because their pseudo-queueing windows are not enough. Macros involving two or more actions also causes a DPS loss.

I made my macro to avoid these problems. If it really drops DPS, I want to know the mechanism.