Earlier quoted context omitted.
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.
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"
UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
11–20 of 51 posts
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#12Earlier quoted context omitted.
rr is awesome and is free and open and all that. How much better could this possibly be?
Well, if you have a Google L5 making ~365k [1] then it would need to make them ~2.2% more productive overall to be worth it when just considering direct pay. If we consider a Google L3 at ~187k then it would need to make them ~4.2% more productive overall. This, of course, ignores employee benefits and overhead which usually amount to ~100% extra costs over direct pay. So that is now ~1.1% and ~2.1%, respectively. An…
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#13Earlier quoted context omitted.
Well, if you have a Google L5 making ~365k [1] then it would need to make them ~2.2% more productive overall to be worth it when just considering direct pay. If we consider a Google L3 at ~187k then it would need to make them ~4.2% more productive overall. This, of course, ignores employee benefits and overhead which usually amount to ~100% extra costs over direct pay. So that is now ~1.1% and ~2.1%, respectively. An…
No-one is going to spend $8K out of pocket to A/B test this on themselves. Of all the things you could be doing to improve your productivity, this is some high hanging fruit.
If your employer really is skeptical, then they can run a A/B test over a small group of engineers to prove out changes in productivity. But not even being willing to run that test when it is so cheap is just management incompetence.
Engineers are ridiculously expensive. In electrical engineering, where the engineers are generally less well-paid than in software, employers routinely spend multiple hundreds of thousands of dollars per engineer per year in tooling. Not being willing to spend 8 k$ on a test of well known technology and attempting to identify mere single digit percentage improvements is just stupid.
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#14Earlier quoted context omitted.
No-one is going to spend $8K out of pocket to A/B test this on themselves. Of all the things you could be doing to improve your productivity, this is some high hanging fruit.
If you have a US employer who is unwilling to spend 8 k$ on software engineering productivity then they are pennywise, pound foolish. It literally costs 10x that for a single junior engineer. And, as I pointed out, the net productivity improvement you need to see to justify that expense is miniscule. If your employer really is skeptical, then they can run a A/B test over a small group of engineers to prove out change…
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#15Let me save you a click: Pricing & Licensing A UDB floating license costs $7,900 per year.
rr is awesome and is free and open and all that. How much better could this possibly be?
I was in talks with them recently because I kept running into limitations with rr. The main advantages for my use case were that undo doesn't have the same dependency on hardware timers, which means the ARM support is much better, you can run it in a VM (e.g. a cloud machine) and you can do replays on different systems.
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#16Earlier quoted context omitted.
No-one is going to spend $8K out of pocket to A/B test this on themselves. Of all the things you could be doing to improve your productivity, this is some high hanging fruit.
If you have a US employer who is unwilling to spend 8 k$ on software engineering productivity then they are pennywise, pound foolish. It literally costs 10x that for a single junior engineer. And, as I pointed out, the net productivity improvement you need to see to justify that expense is miniscule. If your employer really is skeptical, then they can run a A/B test over a small group of engineers to prove out change…
Please try to understand that the world is not as simple and black and white as you'd like.
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#17Earlier quoted context omitted.
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"
I stand corrected, not sure where I heard this then.
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#18Earlier quoted context omitted.
If you have a US employer who is unwilling to spend 8 k$ on software engineering productivity then they are pennywise, pound foolish. It literally costs 10x that for a single junior engineer. And, as I pointed out, the net productivity improvement you need to see to justify that expense is miniscule. If your employer really is skeptical, then they can run a A/B test over a small group of engineers to prove out change…
Not everyone is Google. Some people work for themselves, or have very small teams, or live in a developing country, and don't have lots of spare cash laying around. Please try to understand that the world is not as simple and black and white as you'd like.
if someone's bringing "google payscale" for comparison... well that's not some average joe...
why not just bring Bill Gates and say "everything -- including private jet -- is dirt cheap" ?
$8k per year simply doesn't make sense for 95% of the programmers. For a lot of developing countries, that's more than a well-paying programmer's annual salary...
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#19Earlier quoted context omitted.
If you have a US employer who is unwilling to spend 8 k$ on software engineering productivity then they are pennywise, pound foolish. It literally costs 10x that for a single junior engineer. And, as I pointed out, the net productivity improvement you need to see to justify that expense is miniscule. If your employer really is skeptical, then they can run a A/B test over a small group of engineers to prove out change…
Not everyone is Google. Some people work for themselves, or have very small teams, or live in a developing country, and don't have lots of spare cash laying around. Please try to understand that the world is not as simple and black and white as you'd like.
Very well, a software engineering employer in the US who employs over 10 software engineers in the US at above the 20th percentile of wages, which constitutes the employers of a significant fraction of total software engineers above the 20th percentile of wages, would be foolish to not spend 8 K$ on software development tooling that would result in a 10% productivity improvement. It would be further foolish to not investigate such potential improvements given a reasonably credible belief that such a productivity improvement is possible. Outright dismissal without even considering the potential cost-benefit or making a incorrect cost-benefit analysis requiring significantly in excess of 10% is also foolish.
Please try to understand that sometimes when people are not being utterly pedantic to the point of absurdity it is because they assume people will use their judgement to interpret the applicability to their situation rather than because they can only see in black and white.
Re: UndoDB – The interactive time travel debugger for Linux C/C++ for debugging
#20Earlier quoted context omitted.
rr is awesome and is free and open and all that. How much better could this possibly be?
They have a comparison page: https://undo.io/resources/undo-vs-rr/ I was in talks with them recently because I kept running into limitations with rr. The main advantages for my use case were that undo doesn't have the same dependency on hardware timers, which means the ARM support is much better, you can run it in a VM (e.g. a cloud machine) and you can do replays on different systems.
- If your program is very light on syscalls (i.e. basically entirely in-memory computation), rr can go to a basically 1.0x slowdown. In particular this means you can run benchmarks in it at full capacity, provided that I/O is outside of the repeated part (e.g. if sometimes the bench is noticably slower, you can replay and see if some important loads/stores crossed a cacheline/page). You can even "perf record" / "perf stat" a replay if you want to! (none of this is too useful, but it's fun! Gathering repeated stats over the same execution for more resolution might be useful with proper tooling though)
- rr does have an in-memory buffer of recording data.
- rr recordings should be portable within the architecture, as long as the replay hardware has the extensions the recorder did (or if replayer-unsupported features are disabled at record-time).