In emulation, a savestate (alternatively called freeze state or game freeze) is a snapshot of all of an emulated device's state information at a given moment. This makes it possible to pause emulation, and restart it later, even in another instance of the emulator, or to test the emulated machines reaction to different series of inputs using the saved state as a common starting point. A series of savestates is sometimes used to give the impression of the emulated machine running backwards. In tool-assisted speedrunning, savestates are used to find the optimal set of inputs to finish the game; additionally, if the player dies, he or she can simply revert to a previous savestate and resume play.
Since the savestate needs to record everything relevant to the emulation, it needs to include the state of all memory in the emulated device. Depending on the device, this can include hard drives and other large storage units, making a saved state very big in some cases. Some uses of savestates are sensitive to the time it takes to dump the state, and emulation of devices with a complex state, such as personal computers, sees a much more limited use of save states than devices with simpler states, of which video game consoles are a popular example.