Open emilio opened 6 years ago
If you're doing a lot of ping-ponging between processes then rr's slowness is probably because we make context switches a lot more expensive, and that is very difficult to address.
It should only be across threads there (though it likely still applies).
OK, threads have the same issue.
Let me know when you've figured out the bug and maybe I can determine why chaos mode couldn't reproduce it, and fix it.
I remember @rocallahan was interested on this kind of thing, so I'm opening an issue.
See: https://github.com/servo/ipc-channel/pull/179
When I run the test on my machine, like:
I manage to get something like:
After 20 / 60 iterations consistently.
So the next logical step was to try hunting it with rr, using:
So far I haven't succeeded yet (it's been 90 iterations already, which take more than a minute when recording, both on debug and release).
Just filing to see if it rings a bell or you find it interesting, it's mostly a bunch of
socketpair
/sendmsg
/recvmsg
syscalls.I'm running rr as of 244151f05a0a0c9315675c6278580a98cb97db69.
Also, something I've noticed about this test-case is that recording it under rr is much slower than not doing it even in release, but that's kinda expected given it's very syscall-intensive.