3 ms·
If you take a snapshot initially then all you need is the results of anything non-deterministic - ie anything which cannot be produced by program instructions t
by DSingularity 5y ago
If you take a snapshot initially then all you need is the results of anything non-deterministic - ie anything which cannot be produced by program instructions themselves. For those you can pretty much get them all by logging the results of system calls. All that is left is things like RDTSC, RDRND, and thread interleaving of a multi threaded application.
- sanxiyn 5y agoThis works in theory, but if your program has been running for a minute, going back a second by re-executing from the beginning will take a minute. rr snapshots every second so that going back takes similar time to going forward, rounded to seconds, adjusted for overhead.
- DSingularity 5y agoTrue — modulo speed ups from materializing ND values from the log itself.