-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
counting cycles in GC #50
Conversation
Example of output table:
I believe this would need further assessment to judge whether the callback instrumentation introduces too much noise into the clock-time metrics. |
Latest commit should run benchmark 2*N times: N of them have the callbacks set and are used exclusively to measure cycles in GC. This should avoid putting the cost of a |
This is really nice! We should think about what other metrics we might want. Probably page-faults? |
The cycle count seems to be a bit discrepant with wall-clock-time in some of the benchmarks:
|
I think you want to actually measure CPU-Time (x-ref JuliaCI/BenchmarkTools.jl#94) instead of wall-clock-time. I think perf has an event for this https://github.com/JuliaPerf/LinuxPerf.jl/blob/a7fee0ff261a5b5ce7a903af7b38d1b5c27dd931/src/LinuxPerf.jl#L80-L81 |
Seems like we were missing a few full GC collections. Latest commit seems to be a bit more consistent.
Wondering how we can sanity check these results. |
Instrumentation to count cycles in GC: basically wraps a
perf_event_open
syscall in the GC callbacks.TODO:
measure_gc_cyles.c
into a shared library.