Skip to content
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

Add support for collecting information about GC pausetimes on trunk #78

Merged
merged 3 commits into from
Feb 18, 2020

Conversation

kayceesrk
Copy link
Contributor

@kayceesrk kayceesrk commented Feb 13, 2020

Trunk OCaml has support for instrumented runtime, which emits a timing
log. This PR processes that log for each of the benchmark and outputs a
.bench file where each line is of the form:

<bench>:{'mean_latency': <mean>,
         'max_latency': <max>,
	 'distr_latency': [<10%>, <20%>, <30%>, <40%>, <50%>, <60%>, <70%>,
	                   <80%>, <90%>, <95%>, <99%>, <99.9%>] }

where the value <99.9%> indicates that 99.9% of the pauses were under
<99.9%> nanoseconds. The unit for the latencies is nanoseconds.

This will only work with instrumented runtime. There is a new compiler
configuration ocaml-versions/4.11.0+trunk+instrumented.comp which
enables instrumented runtime by default. This instrumented runtime
should not be used for throughput measurements due to the overheads of
instrumentation.

Trunk OCaml has support for instrumented runtime, which emits a timing
log. This PR processes that log for each of the benchmark and outputs a
`.bench` file where each line is of the form:

<bench>:{'mean_latency': <mean>,
         'max_latency': <max>,
	 'distr_latency': [<10%>, <20%>, <30%>, <40%>, <50%>, <60%>, <70%>,
	                   <80%>, <90%>, <95%>, <99%>, <99.9%>] }

where the value <99.9%> indicates that 99.9% of the pauses were under
<99.9%> nanoseconds. The unit for the latencies is nanoseconds.

This will only work with instrumented runtime. There is a new compiler
configuration `ocaml-versions/4.11.0+trunk+instrumented.comp` which
enables instrumented runtime by default. This instrumented runtime
should not be used for throughput measurements due to the overheads of
instrumentation.
@kayceesrk kayceesrk changed the title Add support for collecting information about GC pausetimes on trunk Add support for collecting information about GC pausetimes on trunk and multicore Feb 18, 2020
@kayceesrk kayceesrk changed the title Add support for collecting information about GC pausetimes on trunk and multicore Add support for collecting information about GC pausetimes on trunk Feb 18, 2020
@kayceesrk kayceesrk merged commit 95424e9 into ocaml-bench:master Feb 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant