It sounds real obvious. Of course actions get slower as the cpu is busy with a program. But i'l ask anyway, because i think it is still a bit too much in my opinion.
I am a Pro Tools users. I use a lot KM actions, some for fairly basic operations. Some rely on reading what the actual menu status is. So i implement an If Then Else, where the "If" is a menu condition like this
I have noticed that on large sessions the time before this action finishes can take up to 5 seconds. I have made a super large session that just plays on my machine and then it even takes 10 seconds for this macro to finish. If i leave out the IfThenElse it is instantly. So it appears that this reading of the menu state is the culprit.
Yes - accessing menus in general means scanning through all the menu bar, then all the menus in each, then all the submenus. And each one requires inter-application communication which is slow to say the least. On top of that, some applications have very slow menus, probably because they dynamically generate them, so they are probably re-generating them each time Keyboard Maestro asks for the next piece.
Menu Paths will be much more efficient in such cases.