It takes time to process & execute each of the steps within the (live:) macro's associated hook, and that time becomes slightly longer each time the code in the associated hook is executed.
The main cause of the increase in the execution time is a result of the extra effort the (append:) macro need to perform each time it is called, which is explained by the following steps:
1. The macro needs to search ALL of the current page to find all occurrences of the indicated hook. The time needed to do this slowly increases as more and more text is revealed.
2. The macro needs to locate the last child element of the hook parent. This also takes a little longer each time.
3. The macro inserts the new element containing the next letter to be shown.
4. The page is refreshed (known as rendered) so the newly added letter becomes visible. This also can take a little longer each time.
5. The (live:) macro creates another timer event and the once the delay has passed the (append:) macro is called again and the above steps happen again.