And what was the shortest and longest time so far?
i could do an undo push, just by pressing this button: bpy.ops.ed.undo_push(). so that took about a half second. that puts an undo step into the script, so that way when you perform the 'undo' command, it will stop there and not blow right by that point in the process. The longest time to come up with code for something would be something i am still working on