1. A method for performing a transaction on a collection of records in a persistent system coupled to one or more processors via a bus, the method comprising: an act of logging post-commit processing information including at least a commit marker for a current transaction, a pointer for each record version that is created by the current transaction and for each record version that is updated by the current transaction; for each record version that is created by the current transaction, performing the following: an act of creating a torn-write guard over at least a portion of the corresponding record version; and an act of adding the torn-write guard of the record version to the post-commit processing information in a manner associated with the pointer for the corresponding record version; an act of creating a torn-write guard over at least a portion of the post-commit processing information; and an act of associating the torn-write guard of the post-commit processing information with the post-commit processing information.