Stream: t-compiler/wg-self-profile

Topic: coz-profiler


David Barsky (Sep 16 2019 at 16:35, on Zulip):

Hi all! This might've been covered beforehand/be redundant, but a talk at last week's Strangeloop (https://www.youtube.com/watch?v=r-TLSBdHe1A) covered coz-profiler (https://www.youtube.com/watch?v=r-TLSBdHe1A that's kinda magical—it finds and predicts what sort of optimizations would be useful, and how much of a throughput/latency increase it would provide. it could provide some useful measurements on rustc (but I suspect y'all might already have that data!)

David Barsky (Sep 16 2019 at 16:36, on Zulip):

it will likely need to be bindgen'd to work with Rust, but the author/presenter said that it should work with Rust with suprisingly little effort

Wesley Wiser (Sep 16 2019 at 16:38, on Zulip):

Wow, that's interesting! It seems very related to this open issue we have: https://github.com/rust-lang/measureme/issues/39

David Barsky (Sep 16 2019 at 16:56, on Zulip):

I think coz fits the bill for this, then!

David Barsky (Sep 16 2019 at 17:01, on Zulip):

Commented on the issue: https://github.com/rust-lang/measureme/issues/39#issuecomment-531865442

Emerent (Oct 24 2020 at 18:08, on Zulip):

Has anyone successfully used coz for a Rust project? If so, how?
This blog post by llogiq is the only thing I've found and he couldn't get it to run either: https://llogiq.github.io/2019/09/25/coz.html

Personally, I haven't been able to get it to run even for the project's own C benchmarks.

bjorn3 (Oct 24 2020 at 19:07, on Zulip):

What is the problem? You may need a newer version of libelfin (I think it was called that)

Emerent (Oct 24 2020 at 20:06, on Zulip):

Yeah, apparently I still had the incompatible apt installed libraries lying around after uninstalling libelfin-dev which were then picked up instead of the up to date ones I compiled from source.
I managed to get some profiles for my toy example in Rust, after switching on debug symbols and removing crunchy::unroll!{}. The latter caused coz to think all samples were collected in one line for some reason.
Still have to get it to run under WSL2.

Last update: Nov 25 2020 at 02:15UTC