One challenge of dynamic documents is that some code chunks may take a long time to run, and these chunks may not be modified or updated frequently. In this case, caching can be very helpful. The basic idea is, a chunk will not be re-executed as long as it has not been modified since the last run, and old results will be directly loaded instead.