Hindsight optimizes for certain reverse operations that are expected to be common. One example of this is that skipping to bookmarks can be faster than skipping to some other location.
The usage of time bookmarks has a certain impact on overall performance since it implicitly enables Hindsight support. Normal performance is always obtained if all time bookmarks are removed.
It is possible to tune certain reverse execution parameters in order to optimize operations for a particular usage pattern (although the default settings should work well in most situations). Tradeoffs exists between:
simics> rexec-limit steps = 20000000 simics> rexec-limit size_mb = 200
The steps limit indicate that the scope of interest is at most the specified number of steps. By imposing a steps limit, resources can be spent more effectively with the drawback that reversal past the limit may not possible. By default, no steps limit is imposed.
The size limit imposes a limit on the amount of memory Hindsight may use. If the limit is exceeded, reverse performance will be traded for less memory consumption.