This wiki page says that "Macros are continuously saved, so the macro is live as soon as it is created."
However, I my experience, there is a delay—quickly running the macro after changing the url still opens the old url. Is this autosave delay constant (i.e. 1 or 2 seconds), or is it based on something else?
Confirmed over here. It's something I only recently observed.
For instance if I make a change to a macro under development and quickly hit the hotkey quite often the first invocation will trigger the "previous" behavior and a quick second try will finally reflect the changes I've just made.
I've noticed the same behavior and just figured it took a second for it to actually save. I assumed it was writing to a file that it had to recall.
Peter has commented elsewhere that things refresh often in the Editor so maybe it just kicks in when the Editor refreshes. I've wanted to use the Record Quick Macro in the keyboard maestro editor many times. However as soon as things refresh it stops working so it kind of seems like those go hand-in-hand of the Keyboard Maestro Editor detecting changes, and then saving before it actually runs the changes.
Macros are "continuously saved" -- but the Engine needs to reload before the "new version" is executable. You can watch that happening if you edit a macro with Activity Monitor open and filtered to "Keyboard Maestro Engine" -- type another character into the URL field and CPU usage spike a moment later.
The reload time will depend on what else your machine is doing, the size of the macros plist, etc. The Engine doesn't wait until all running macros have finished before reloading, but it does wait for a "period of inactivity" in the Editor (else a fast typist would have it reloading many times a second!). So you can, if you're quick, catch it between edit and reload.