Remix.run Logo
ognarb 10 hours ago

What's the difference with RR?

roca 8 hours ago | parent | next [-]

[rr developer here]

Undo has cool features like Live Recording that we don't have in rr. They don't need access to the hardware PMU which is a big advantage in some situations. They can handle accesses to shared memory in cases where rr can't. https://undo.io/resources/undo-vs-rr/ is a good resource.

sidkshatriya an hour ago | parent [-]

If you don't have access to the hardware PMU then you can try https://github.com/sidkshatriya/rr.soft (which is a modification of the rr debugger).

It may not be commercial quality but its open source and free :)

[I built rr.soft]

8 hours ago | parent | prev | next [-]
[deleted]
leni536 10 hours ago | parent | prev | next [-]

AFAIK it records multithreaded applications on multiple threads and CPU, rr records them on a single OS thread, AFAIK. Not sure about replay. Never used undo though, so not sure how much better it is.

dzaima 10 hours ago | parent [-]

rr does support multithreaded and multi-process applications, via, like Undo[1], allowing only a single thread to run at a time. (edit note - that's only about multithreading; Undo might have parallel multi-process recording)

[1]: https://undo.io/resources/undo-performance-benchmarks/ - "Undo serializes their execution"

leni536 10 hours ago | parent [-]

I stand corrected, not sure where I heard this then.

dzaima 9 hours ago | parent [-]

https://undo.io/resources/undo-vs-rr/ does note parallel recording for multi-process (not multi-threaded), so perhaps that.

kristopolous 10 hours ago | parent | prev [-]

This one has a flashy website and a marketing department